diff --git a/ext/dl/dl.c b/ext/dl/dl.c index dd4f4423b5..47cc864a7c 100644 --- a/ext/dl/dl.c +++ b/ext/dl/dl.c @@ -16,7 +16,7 @@ static ID id_call; static int rb_dl_scan_callback_args(long stack[], const char *proto, - int *argc, VALUE (*argv)[]) + int *argc, VALUE argv[]) { int i; long *sp; @@ -93,7 +93,7 @@ rb_dl_scan_callback_args(long stack[], const char *proto, rb_raise(rb_eDLTypeError, "unsupported type `%c'", proto[i]); break; } - (*argv)[i-1] = val; + argv[i-1] = val; } *argc = (i - 1); @@ -608,7 +608,7 @@ rb_dl_callback(int argc, VALUE argv[], VALUE self) rettype = 0x07; break; default: - rb_raise(rb_eDLTypeError, "unsupported type `%s'", STR2CSTR(rettype)); + rb_raise(rb_eDLTypeError, "unsupported type `%c'", STR2CSTR(type)[0]); } entry = -1; diff --git a/ext/dl/mkcallback.rb b/ext/dl/mkcallback.rb index 217fef4fba..7738128f59 100644 --- a/ext/dl/mkcallback.rb +++ b/ext/dl/mkcallback.rb @@ -33,7 +33,7 @@ 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);", + " rb_dl_scan_callback_args(buff, STR2CSTR(proto), &argc, argv);", " retval = rb_funcall2(proc, id_call, argc, argv);", "", ret_code,