summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/extmk.rb.in3
-rw-r--r--ext/pty/pty.c2
-rw-r--r--ext/readline/extconf.rb5
-rw-r--r--ext/socket/getaddrinfo.c6
-rw-r--r--ext/socket/getnameinfo.c6
-rw-r--r--ext/socket/socket.c2
6 files changed, 8 insertions, 16 deletions
diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in
index 3e3ec3992e..e2c5d5bd3f 100644
--- a/ext/extmk.rb.in
+++ b/ext/extmk.rb.in
@@ -464,6 +464,7 @@ $(DLLIB): $(OBJS)
dfile = open("#{$srcdir}/depend", "r")
mfile.printf "###\n"
while line = dfile.gets()
+ line.gsub!(/\.o/, ".#{$OBJEXT}")
mfile.printf "%s", line.gsub('\$\(hdrdir\)/config.h', '$(topdir)/config.h')
end
dfile.close
@@ -500,7 +501,7 @@ def extmake(target)
$objs = nil
$local_flags = ""
case RUBY_PLATFORM
- when /cygwin|beos|openstep|nextstep|rhapsody/
+ when /cygwin|beos|openstep|nextstep|rhapsody|i386-os2_emx/
$libs = ""
when /mswin32/
$LIBEXT = "lib"
diff --git a/ext/pty/pty.c b/ext/pty/pty.c
index 98be9044b7..b8c4e9acae 100644
--- a/ext/pty/pty.c
+++ b/ext/pty/pty.c
@@ -282,7 +282,9 @@ establishShell(shellname, info)
dup2(slave,2);
close(slave);
+#if defined(HAVE_SETEUID) || defined(HAVE_SETREUID) || defined(HAVE_SETRESUID)
seteuid(getuid());
+#endif
argc = 0;
for (i = 0; shellname[i];) {
diff --git a/ext/readline/extconf.rb b/ext/readline/extconf.rb
index 3dd9c0fc1e..09d42f69c9 100644
--- a/ext/readline/extconf.rb
+++ b/ext/readline/extconf.rb
@@ -2,8 +2,9 @@ require "mkmf"
dir_config("readline")
have_library("user32", nil) if /cygwin/ === PLATFORM
-have_library("termcap", "tgetnum")
-have_library("curses", "tgetnum")
+have_library("termcap", "tgetnum") or
+ have_library("curses", "tgetnum") or
+ have_library("ncurses", "tgetnum")
if have_header("readline/readline.h") and
have_header("readline/history.h") and
have_library("readline", "readline")
diff --git a/ext/socket/getaddrinfo.c b/ext/socket/getaddrinfo.c
index d89c7851be..d99ad12506 100644
--- a/ext/socket/getaddrinfo.c
+++ b/ext/socket/getaddrinfo.c
@@ -130,12 +130,6 @@ static struct afd {
#define PTON_MAX 4
#endif
-#ifndef INET6
-#ifndef NT
-extern int h_errno;
-#endif
-#endif
-
static int get_name __P((const char *, struct afd *,
struct addrinfo **, char *, struct addrinfo *,
int));
diff --git a/ext/socket/getnameinfo.c b/ext/socket/getnameinfo.c
index 6a71d1d6f6..2fbb8d8037 100644
--- a/ext/socket/getnameinfo.c
+++ b/ext/socket/getnameinfo.c
@@ -64,12 +64,6 @@
#include "addrinfo.h"
#include "sockport.h"
-#ifndef INET6
-#ifndef NT
-extern int h_errno;
-#endif
-#endif
-
#define SUCCESS 0
#define ANY 0
#define YES 1
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index d680adc325..0a61160e99 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -399,8 +399,8 @@ s_recv(sock, argc, argv, from)
str = rb_str_new(0, NUM2INT(len));
rb_thread_wait_fd(fd);
- TRAP_BEG;
retry:
+ TRAP_BEG;
RSTRING(str)->len = recvfrom(fd, RSTRING(str)->ptr, RSTRING(str)->len, flags,
(struct sockaddr*)buf, &alen);
TRAP_END;