summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-06 04:15:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-06 04:15:42 +0000
commitd7b8e448bfd29042f64ed3535dc21014b9259088 (patch)
tree095315717e3050b4acb09d91e848dc2e3d0b2b5f /ext
parentb014cc337ef28498311f58a7b28bdfffebc53f00 (diff)
2000-03-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/Win32API/Win32API.c11
-rw-r--r--ext/curses/curses.c2
-rw-r--r--ext/dbm/dbm.c1
-rw-r--r--ext/extmk.rb.in6
-rw-r--r--ext/gdbm/gdbm.c1
-rw-r--r--ext/md5/md5init.c1
-rw-r--r--ext/socket/socket.c6
7 files changed, 15 insertions, 13 deletions
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, "<broadcast>") == 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));
}