From 9ff1e787f915539b1980654e3d3d2013ff5c81d2 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Mon, 7 Jul 2008 07:38:25 +0000 Subject: wrong commit; sorry git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby_1_8_6/ext/dl/mkcallback.rb | 56 ----------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 ruby_1_8_6/ext/dl/mkcallback.rb (limited to 'ruby_1_8_6/ext/dl/mkcallback.rb') diff --git a/ruby_1_8_6/ext/dl/mkcallback.rb b/ruby_1_8_6/ext/dl/mkcallback.rb deleted file mode 100644 index c9f92e4a0d..0000000000 --- a/ruby_1_8_6/ext/dl/mkcallback.rb +++ /dev/null @@ -1,56 +0,0 @@ -# -*- ruby -*- - -require 'mkmf' -$:.unshift File.dirname(__FILE__) -require 'type' -require 'dlconfig' - -def mkfunc(rettype, fnum, argc) - args = (0..(argc-1)).collect{|i| "long arg#{i}"}.join(", ") - - subst_code = (0..(argc-1)).collect{|i| - " buff[#{i.to_s}] = arg#{i.to_s};" - }.join("\n") - - ret_code = - if( DLTYPE[rettype][:c2rb] ) - " return #{DLTYPE[rettype][:rb2c]['retval']};" - else - " /* no return value */" - end - - code = [ - "static #{DLTYPE[rettype][:ctype]}", - "rb_dl_callback_func_#{rettype.to_s}_#{fnum.to_s}(#{args})", - "{", - " VALUE retval, proto, proc, obj;", - " VALUE argv[#{argc.to_s}];", - " int argc;", - " long buff[#{argc.to_s}];", - "", - subst_code, - "", - " obj = rb_hash_aref(DLFuncTable, rb_assoc_new(INT2NUM(#{rettype.to_s}),INT2NUM(#{fnum.to_s})));", - " if(NIL_P(obj))", - " rb_raise(rb_eDLError, \"callback function does not exist in DL::FuncTable\");", - " Check_Type(obj, T_ARRAY);", - " proto = rb_ary_entry(obj, 0);", - " proc = rb_ary_entry(obj, 1);", - " Check_Type(proto, T_STRING);", - " if( RSTRING(proto)->len >= #{argc.to_s} )", - " rb_raise(rb_eArgError, \"too many arguments\");", - " rb_dl_scan_callback_args(buff, RSTRING(proto)->ptr, &argc, argv);", - " retval = rb_funcall2(proc, id_call, argc, argv);", - "", - ret_code, - "}", - ].join("\n") - - return code -end - -DLTYPE.keys.sort.each{|t| - for n in 0..(MAX_CALLBACK - 1) - print(mkfunc(t, n, 15), "\n\n") - end -} -- cgit v1.2.3