From d7b8e448bfd29042f64ed3535dc21014b9259088 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 6 Mar 2000 04:15:42 +0000 Subject: 2000-03-06 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/Win32API/Win32API.c | 11 ++++------- ext/curses/curses.c | 2 -- ext/dbm/dbm.c | 1 - ext/extmk.rb.in | 6 +++++- ext/gdbm/gdbm.c | 1 - ext/md5/md5init.c | 1 - ext/socket/socket.c | 6 ++++++ 7 files changed, 15 insertions(+), 13 deletions(-) (limited to 'ext') diff --git a/ext/Win32API/Win32API.c b/ext/Win32API/Win32API.c index 38268d0474..433d13abeb 100644 --- a/ext/Win32API/Win32API.c +++ b/ext/Win32API/Win32API.c @@ -52,13 +52,10 @@ Win32API_initialize(self, dllname, proc, import, export) int len; int ex; - hdll = GetModuleHandle(RSTRING(dllname)->ptr); - if (!hdll) { - hdll = LoadLibrary(RSTRING(dllname)->ptr); - if (!hdll) - rb_raise(rb_eRuntimeError, "LoadLibrary: %s\n", RSTRING(dllname)->ptr); - Data_Wrap_Struct(self, 0, Win32API_FreeLibrary, hdll); - } + hdll = LoadLibrary(RSTRING(dllname)->ptr); + if (!hdll) + rb_raise(rb_eRuntimeError, "LoadLibrary: %s\n", RSTRING(dllname)->ptr); + rb_iv_set(self, "__hdll__", Data_Wrap_Struct(self, 0, Win32API_FreeLibrary, hdll)); hproc = GetProcAddress(hdll, RSTRING(proc)->ptr); if (!hproc) { str = rb_str_new3(proc); diff --git a/ext/curses/curses.c b/ext/curses/curses.c index b0e2ef5bc7..db620654bd 100644 --- a/ext/curses/curses.c +++ b/ext/curses/curses.c @@ -424,7 +424,6 @@ window_s_new(class, h, w, top, left) wclear(window); win = prep_window(class, window); args[0] = h; args[1] = w; args[2] = top; args[3] = left; - rb_obj_call_init(win, 4, args); return win; } @@ -448,7 +447,6 @@ window_subwin(obj, h, w, top, left) NUM2INT(top), NUM2INT(left)); win = prep_window(cWindow, window); args[0] = h; args[1] = w; args[2] = top; args[3] = left; - rb_obj_call_init(win, 4, args); return win; } diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 2aeede2672..c68c5b427e 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -91,7 +91,6 @@ fdbm_s_open(argc, argv, klass) obj = Data_Make_Struct(klass,struct dbmdata,0,free_dbm,dbmp); dbmp->di_dbm = dbm; dbmp->di_size = -1; - rb_obj_call_init(obj, argc, argv); return obj; } diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in index e2c5d5bd3f..cae02d576f 100644 --- a/ext/extmk.rb.in +++ b/ext/extmk.rb.in @@ -560,7 +560,11 @@ def extmake(target) elsif $clean system "#{$make} clean" else - system "#{$make} all" or exit + unless system "#{$make} all" + if ENV["MAKEFLAGS"] != "k" and ENV["MFLAGS"] != "-k" + exit + end + end end end if $static diff --git a/ext/gdbm/gdbm.c b/ext/gdbm/gdbm.c index 116b19d18e..b4d8212717 100644 --- a/ext/gdbm/gdbm.c +++ b/ext/gdbm/gdbm.c @@ -88,7 +88,6 @@ fgdbm_s_open(argc, argv, klass) obj = Data_Make_Struct(klass,struct dbmdata,0,free_dbm,dbmp); dbmp->di_dbm = dbm; dbmp->di_size = -1; - rb_obj_call_init(obj, argc, argv); return obj; } diff --git a/ext/md5/md5init.c b/ext/md5/md5init.c index 552a407c6d..f3dafed336 100644 --- a/ext/md5/md5init.c +++ b/ext/md5/md5init.c @@ -95,7 +95,6 @@ md5_new(argc, argv, class) if (!NIL_P(arg)) { md5_update(obj, arg); } - rb_obj_call_init(obj, argc, argv); return obj; } diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 7838b151a3..ac79d89134 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -530,6 +530,9 @@ ip_addrsetup(host, port) else if (name[0] == '<' && strcmp(name, "") == 0) { mkinetaddr(INADDR_BROADCAST, hbuf, sizeof(hbuf)); } + else if (strlen(name) > sizeof(hbuf)-1) { + rb_raise(rb_eArgError, "hostname too long (%d)", strlen(name)); + } else { strcpy(hbuf, name); } @@ -551,6 +554,9 @@ ip_addrsetup(host, port) hints.ai_socktype = SOCK_DGRAM; error = getaddrinfo(hostp, portp, &hints, &res); if (error) { + if (hostp && hostp[strlen(hostp)-1] == '\n') { + rb_raise(rb_eSocket, "newline at the end of hostname"); + } rb_raise(rb_eSocket, "%s", gai_strerror(error)); } -- cgit v1.2.3