diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-12-22 09:01:55 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-12-22 09:01:55 +0000 |
commit | 6d583574ab87c7cd18b66382c6892b545167bff6 (patch) | |
tree | 515b7c169ce2cd30fe085c5d861f5fad59aa76f7 /ext | |
parent | e299d511db939232c628d6880e61c32e83937d66 (diff) |
1.1d1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1dev@357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/curses/curses.c | 8 | ||||
-rw-r--r-- | ext/curses/extconf.rb | 4 | ||||
-rw-r--r-- | ext/dbm/dbm.c | 30 | ||||
-rw-r--r-- | ext/extmk.rb.in | 48 | ||||
-rw-r--r-- | ext/gtk/gtk.c | 2 |
5 files changed, 53 insertions, 39 deletions
diff --git a/ext/curses/curses.c b/ext/curses/curses.c index 3d3991373a..f3d1bc0970 100644 --- a/ext/curses/curses.c +++ b/ext/curses/curses.c @@ -360,7 +360,7 @@ curses_getstr(obj) { char rtn[1024]; /* This should be big enough.. I hope */ getstr(rtn); - return rb_str_taint(rb_str_new2(rtn)); + return rb_tainted_str_new2(rtn); } /* def delch */ @@ -377,7 +377,9 @@ static VALUE curses_deleteln(obj) VALUE obj; { +#ifdef HAVE_DELETELN deleteln(); +#endif return Qnil; } @@ -729,7 +731,7 @@ window_getstr(obj) GetWINDOW(obj, winp); wgetstr(winp->window, rtn); - return rb_str_taint(rb_str_new2(rtn)); + return rb_tainted_str_new2(rtn); } /* def delch */ @@ -749,10 +751,12 @@ static VALUE window_deleteln(obj) VALUE obj; { +#ifdef HAVE_WDELETELN struct windata *winp; GetWINDOW(obj, winp); wdeleteln(winp->window); +#endif return Qnil; } diff --git a/ext/curses/extconf.rb b/ext/curses/extconf.rb index 244c9085c4..442a9424a2 100644 --- a/ext/curses/extconf.rb +++ b/ext/curses/extconf.rb @@ -2,6 +2,8 @@ require 'mkmf' $CFLAGS="-I/usr/include/ncurses -I/usr/local/include/ncurses" $LDFLAGS="-L/usr/local/lib" make=FALSE + +have_library("mytinfo", "tgetent") if /bow/ =~ PLATFORM if have_header("ncurses.h") and have_library("ncurses", "initscr") make=TRUE elsif have_header("ncurses/curses.h") and have_library("ncurses", "initscr") @@ -15,7 +17,7 @@ else end if make then - for f in ["isendwin", "ungetch", "beep", "doupdate", "flash"] + for f in %w(isendwin ungetch beep doupdate flash deleteln wdeleteln) have_func(f) end create_makefile("curses") diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 4a3d1127e6..2764a325e1 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -121,7 +121,7 @@ fdbm_fetch(obj, keystr) if (value.dptr == 0) { return Qnil; } - return rb_str_taint(rb_str_new(value.dptr, value.dsize)); + return rb_tainted_str_new(value.dptr, value.dsize); } static VALUE @@ -191,8 +191,8 @@ fdbm_shift(obj) val = dbm_fetch(dbm, key); dbm_delete(dbm, key); - keystr = rb_str_taint(rb_str_new(key.dptr, key.dsize)); - valstr = rb_str_taint(rb_str_new(val.dptr, val.dsize)); + keystr = rb_tainted_str_new(key.dptr, key.dsize); + valstr = rb_tainted_str_new(val.dptr, val.dsize); return rb_assoc_new(keystr, valstr); } @@ -210,8 +210,8 @@ fdbm_delete_if(obj) dbm = dbmp->di_dbm; for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - keystr = rb_str_taint(rb_str_new(key.dptr, key.dsize)); - valstr = rb_str_taint(rb_str_new(val.dptr, val.dsize)); + keystr = rb_tainted_str_new(key.dptr, key.dsize); + valstr = rb_tainted_str_new(val.dptr, val.dsize); if (RTEST(rb_yield(rb_assoc_new(keystr, valstr)))) { if (dbm_delete(dbm, key)) { rb_raise(rb_eRuntimeError, "dbm_delete failed"); @@ -255,8 +255,8 @@ fdbm_invert(obj) dbm = dbmp->di_dbm; for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - keystr = rb_str_taint(rb_str_new(key.dptr, key.dsize)); - valstr = rb_str_taint(rb_str_new(val.dptr, val.dsize)); + keystr = rb_tainted_str_new(key.dptr, key.dsize); + valstr = rb_tainted_str_new(val.dptr, val.dsize); rb_hash_aset(hash, valstr, keystr); } return obj; @@ -396,7 +396,7 @@ fdbm_each_value(obj) dbm = dbmp->di_dbm; for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - rb_yield(rb_str_taint(rb_str_new(val.dptr, val.dsize))); + rb_yield(rb_tainted_str_new(val.dptr, val.dsize)); } return obj; } @@ -412,7 +412,7 @@ fdbm_each_key(obj) GetDBM(obj, dbmp); dbm = dbmp->di_dbm; for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { - rb_yield(rb_str_taint(rb_str_new(key.dptr, key.dsize))); + rb_yield(rb_tainted_str_new(key.dptr, key.dsize)); } return obj; } @@ -431,8 +431,8 @@ fdbm_each_pair(obj) for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - keystr = rb_str_taint(rb_str_new(key.dptr, key.dsize)); - valstr = rb_str_taint(rb_str_new(val.dptr, val.dsize)); + keystr = rb_tainted_str_new(key.dptr, key.dsize); + valstr = rb_tainted_str_new(val.dptr, val.dsize); rb_yield(rb_assoc_new(keystr, valstr)); } @@ -453,7 +453,7 @@ fdbm_keys(obj) ary = rb_ary_new(); for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { - rb_ary_push(ary, rb_str_taint(rb_str_new(key.dptr, key.dsize))); + rb_ary_push(ary, rb_tainted_str_new(key.dptr, key.dsize)); } return ary; @@ -474,7 +474,7 @@ fdbm_values(obj) ary = rb_ary_new(); for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - rb_ary_push(ary, rb_str_taint(rb_str_new(val.dptr, val.dsize))); + rb_ary_push(ary, rb_tainted_str_new(val.dptr, val.dsize)); } return ary; @@ -537,8 +537,8 @@ fdbm_to_a(obj) ary = rb_ary_new(); for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { val = dbm_fetch(dbm, key); - rb_ary_push(ary, rb_assoc_new(rb_str_taint(rb_str_new(key.dptr, key.dsize)), - rb_str_taint(rb_str_new(val.dptr, val.dsize)))); + rb_ary_push(ary, rb_assoc_new(rb_tainted_str_new(key.dptr, key.dsize), + rb_tainted_str_new(val.dptr, val.dsize))); } return ary; diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in index e1623529b6..33580e99fc 100644 --- a/ext/extmk.rb.in +++ b/ext/extmk.rb.in @@ -135,26 +135,34 @@ def have_library(lib, func) end end - cfile = open("conftest.c", "w") - cfile.printf "\ + if func && func != "" + cfile = open("conftest.c", "w") + cfile.printf "\ int main() { return 0; } int t() { %s(); return 0; } ", func - cfile.close + cfile.close - begin + begin + if $libs + libs = "-l" + lib + " " + $libs + else + libs = "-l" + lib + end + unless try_link(libs) + $lib_cache[lib] = 'no' + $cache_mod = TRUE + return FALSE + end + ensure + system "rm -f conftest*" + end + else if $libs libs = "-l" + lib + " " + $libs else libs = "-l" + lib end - unless try_link(libs) - $lib_cache[lib] = 'no' - $cache_mod = TRUE - return FALSE - end - ensure - system "rm -f conftest*" end $libs = libs @@ -299,7 +307,7 @@ archdir = $(pkglibdir)/@arch@ #### End of system configuration section. #### " - mfile.printf "LOCAL_LIBS = %s\n", $local_libs if $local_libs + mfile.printf "LOCAL_LIBS = %s\n", $local_libs unless $local_libs == "" mfile.printf "LIBS = %s\n", $libs mfile.printf "OBJS = " if !$objs then @@ -313,7 +321,7 @@ archdir = $(pkglibdir)/@arch@ mfile.printf $objs.join(" ") mfile.printf "\n" - mfile.printf << EOS + mfile.printf <<EOS TARGET = #{target}.#{$static ? "a" : "@DLEXT@"} INSTALL = #{$dots}@INSTALL@ @@ -354,7 +362,7 @@ $(TARGET): $(OBJS) elsif "@DLEXT@" != "o" mfile.printf "\ $(TARGET): $(OBJS) - $(LDSHARED) $(DLDFLAGS) -o $(TARGET) $(OBJS) $(LOCAL_LIBS) $(LIBS) + $(LDSHARED) $(DLDFLAGS) -o $(TARGET) $(OBJS) $(LIBS) $(LOCAL_LIBS) " elsif not File.exist?(target + ".c") and not File.exist?(target + ".cc") if PLATFORM == "m68k-human" @@ -410,9 +418,9 @@ def extmake(target) $objs = nil $libs = PLATFORM =~ /cygwin32|beos|openstep|nextstep|rhapsody/ ? nil : "-lc" - $local_libs = nil # to be assigned in extconf.rb - $CFLAGS = nil - $LDFLAGS = nil + $local_libs = "" # to be assigned in extconf.rb + $CFLAGS = "" + $LDFLAGS = "" begin system "mkdir", target unless File.directory?(target) @@ -444,10 +452,10 @@ def extmake(target) end end if $static - $extlibs = "" unless $extlibs - $extlibs += " " + $LDFLAGS if $LDFLAGS - $extlibs += " " + $local_libs if $local_libs + $extlibs ||= "" + $extlibs += " " + $LDFLAGS unless $LDFLAGS == "" $extlibs += " " + $libs if $libs + $extlibs += " " + $local_libs unless $local_libs == "" end ensure Dir.chdir ".." diff --git a/ext/gtk/gtk.c b/ext/gtk/gtk.c index 1afe083d9e..28a4bd17b3 100644 --- a/ext/gtk/gtk.c +++ b/ext/gtk/gtk.c @@ -988,7 +988,7 @@ gdkgc_set_function(self, func) GdkFunction f; f = (GdkFunction) NUM2INT(func); if (f != GDK_COPY && f != GDK_INVERT && f != GDK_XOR) - ArgError("function out of range"); + rb_raise(rb_eArgError, "function out of range"); gdk_gc_set_function(get_gdkgc(self), f); return func; |