diff --git a/ChangeLog b/ChangeLog index 57b03a17e3..07bebece41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Jun 3 19:33:51 2010 Nobuyoshi Nakada + + * ext/dl/cfunc.c (rb_dlcfunc_inspect): suppress warnings by + rb_sprintf. + + * ext/dl/cptr.c (rb_dlptr_s_malloc): suppress warnings. + Thu Jun 3 18:58:28 2010 Nobuyoshi Nakada * load.c (ruby_init_ext): statically linked extensions have no diff --git a/ext/dl/cfunc.c b/ext/dl/cfunc.c index b123b50d24..38ff2cb8b1 100644 --- a/ext/dl/cfunc.c +++ b/ext/dl/cfunc.c @@ -284,25 +284,15 @@ rb_dlcfunc_set_ptr(VALUE self, VALUE addr) static VALUE rb_dlcfunc_inspect(VALUE self) { - VALUE val; - char *str; - int str_size; struct cfunc_data *cfunc; TypedData_Get_Struct(self, struct cfunc_data, &dlcfunc_data_type, cfunc); - str_size = (cfunc->name ? strlen(cfunc->name) : 0) + 100; - str = ruby_xmalloc(str_size); - snprintf(str, str_size - 1, - "#", + return rb_sprintf("#", cfunc, cfunc->ptr, cfunc->type, cfunc->name ? cfunc->name : ""); - val = rb_tainted_str_new2(str); - ruby_xfree(str); - - return val; } diff --git a/ext/dl/cptr.c b/ext/dl/cptr.c index 2a34a704e2..bafbc48be6 100644 --- a/ext/dl/cptr.c +++ b/ext/dl/cptr.c @@ -186,7 +186,7 @@ static VALUE rb_dlptr_s_malloc(int argc, VALUE argv[], VALUE klass) { VALUE size, sym, obj; - int s; + long s; freefunc_t f; switch (rb_scan_args(argc, argv, "11", &size, &sym)) {