From 5434d73ef7fada1c75499f18a7b7b0ca5c79a39b Mon Sep 17 00:00:00 2001 From: ttate Date: Tue, 11 Jun 2002 14:44:53 +0000 Subject: Get rid of STR2CSTR. (Thanks N.Nakada) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/dl/depend | 2 +- ext/dl/dl.c | 7 ++++--- ext/dl/mkcallback.rb | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'ext/dl') diff --git a/ext/dl/depend b/ext/dl/depend index 313fac43a7..7f1c2ecb15 100644 --- a/ext/dl/depend +++ b/ext/dl/depend @@ -5,7 +5,7 @@ LDSHARED_TEST = $(LDSHARED) $(LDFLAGS) test/test.o -o test/libtest.so $(LOCAL_LI libtest.so: test/libtest.so -test/libtest.so: test/test.o test/libtest.def +test/libtest.so: test/test.o $(srcdir)/test/libtest.def $(RUBY) -rftools -e 'ARGV.each do|d|File.mkpath(File.dirname(d))end' $@ $(LDSHARED_TEST:dl.def=test/libtest.def) diff --git a/ext/dl/dl.c b/ext/dl/dl.c index 47cc864a7c..6b7f01b3ff 100644 --- a/ext/dl/dl.c +++ b/ext/dl/dl.c @@ -582,7 +582,7 @@ rb_dl_callback(int argc, VALUE argv[], VALUE self) } Check_Type(type, T_STRING); - switch( STR2CSTR(type)[0] ){ + switch( RSTRING(type)->ptr[0] ){ case '0': rettype = 0x00; break; @@ -608,7 +608,7 @@ rb_dl_callback(int argc, VALUE argv[], VALUE self) rettype = 0x07; break; default: - rb_raise(rb_eDLTypeError, "unsupported type `%c'", STR2CSTR(type)[0]); + rb_raise(rb_eDLTypeError, "unsupported type `%c'", RSTRING(type)->ptr[0]); } entry = -1; @@ -626,7 +626,8 @@ rb_dl_callback(int argc, VALUE argv[], VALUE self) rb_assoc_new(INT2NUM(rettype),INT2NUM(entry)), rb_assoc_new(type,proc)); sprintf(fname, "rb_dl_callback_func_%d_%d", rettype, entry); - return rb_dlsym_new((void (*)())rb_dl_callback_table[rettype][entry], fname, STR2CSTR(type)); + return rb_dlsym_new((void (*)())rb_dl_callback_table[rettype][entry], + fname, RSTRING(type)->ptr); } static VALUE diff --git a/ext/dl/mkcallback.rb b/ext/dl/mkcallback.rb index 7738128f59..9a12184734 100644 --- a/ext/dl/mkcallback.rb +++ b/ext/dl/mkcallback.rb @@ -33,7 +33,8 @@ def mkfunc(rettype, fnum, argc) " obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(#{rettype.to_s}),INT2NUM(#{fnum.to_s})));", " proto = rb_ary_entry(obj, 0);", " proc = rb_ary_entry(obj, 1);", - " rb_dl_scan_callback_args(buff, STR2CSTR(proto), &argc, argv);", + " Check_Type(proto, T_STRING);", + " rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);", " retval = rb_funcall2(proc, id_call, argc, argv);", "", ret_code, -- cgit v1.2.3