diff options
| author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-19 16:28:53 +0000 |
|---|---|---|
| committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-19 16:28:53 +0000 |
| commit | 8302aa5f951e85984899d73fafa6bef2f23deddd (patch) | |
| tree | e2d91c7eaadad662053210ef286ded8d89601f26 /ext/fiddle/pointer.c | |
| parent | b809254c8ce37ac996a7e0b2a9f27387cf7ee704 (diff) | |
merge revision(s) 44569:44572,44576:44579,44581,44590:44594,44607,44608,44614,44615:
iseq.c: linear search
* iseq.c (iseq_type_from_id): linear search instead of hash lookup for
small fixed number keys.
------------------------------------------------------------------------
r44570 | nobu | 2014-01-12 17:11:32 +0900 (Sun, 12 Jan 2014) | 4 lines
tcltklib.c: create_ip_exc format argument
* ext/tk/tcltklib.c (create_ip_exc): format argument must not be a
dynamic string, not to contain unescaped %.
------------------------------------------------------------------------
r44571 | nobu | 2014-01-12 17:11:34 +0900 (Sun, 12 Jan 2014) | 5 lines
stubs.c: library name strings
* ext/tk/stubs.c (ruby_open_tcl_dll, ruby_open_tk_dll): make library
names by string literal concatenation at compilation time, not by
sprintf() at runtime.
------------------------------------------------------------------------
r44572 | nobu | 2014-01-12 17:11:36 +0900 (Sun, 12 Jan 2014) | 1 line
ext: use rb_sprintf() and rb_vsprintf() with PRIsVALUE
* ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap
depending on PRIsVALUE for 1.9. [Backport #9406]
* ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback
definition for 2.1 or older. [ruby-core:59750] [Backport #9406]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/fiddle/pointer.c')
| -rw-r--r-- | ext/fiddle/pointer.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ext/fiddle/pointer.c b/ext/fiddle/pointer.c index fb9b31012f..3667a84bd8 100644 --- a/ext/fiddle/pointer.c +++ b/ext/fiddle/pointer.c @@ -7,6 +7,15 @@ #include <ctype.h> #include <fiddle.h> +#ifdef PRIsVALUE +# define RB_OBJ_CLASSNAME(obj) rb_obj_class(obj) +# define RB_OBJ_STRING(obj) (obj) +#else +# define PRIsVALUE "s" +# define RB_OBJ_CLASSNAME(obj) rb_obj_classname(obj) +# define RB_OBJ_STRING(obj) StringValueCStr(obj) +#endif + VALUE rb_cPointer; typedef void (*freefunc_t)(void*); @@ -430,12 +439,10 @@ static VALUE rb_fiddle_ptr_inspect(VALUE self) { struct ptr_data *data; - char str[1024]; TypedData_Get_Struct(self, struct ptr_data, &fiddle_ptr_data_type, data); - snprintf(str, 1023, "#<%s:%p ptr=%p size=%ld free=%p>", - rb_class2name(CLASS_OF(self)), data, data->ptr, data->size, data->free); - return rb_str_new2(str); + return rb_sprintf("#<%"PRIsVALUE":%p ptr=%p size=%ld free=%p>", + RB_OBJ_CLASSNAME(self), data, data->ptr, data->size, data->free); } /* |
