diff options
| author | Cremno <[email protected]> | 2013-02-06 00:07:09 +0100 |
|---|---|---|
| committer | Cremno <[email protected]> | 2013-02-06 00:07:09 +0100 |
| commit | 11869a433b220a00b9a5fea41b7389bf9b39e398 (patch) | |
| tree | aae91d6dee1e2b8c76b150a7031f874e6554976f /src | |
| parent | 913faa43c83f31898a66dad394f609e547e1d3bd (diff) | |
| download | mruby-11869a433b220a00b9a5fea41b7389bf9b39e398.tar.gz mruby-11869a433b220a00b9a5fea41b7389bf9b39e398.zip | |
rewrote mrb_any_to_s
use %p instead of %lx to prevent truncation and for consistency
Diffstat (limited to 'src')
| -rw-r--r-- | src/object.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/object.c b/src/object.c index f8ebd44bc..cc8475cf1 100644 --- a/src/object.c +++ b/src/object.c @@ -10,6 +10,7 @@ #include <stdio.h> #include "mruby/class.h" #include "mruby/numeric.h" +#include "error.h" int mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2) @@ -443,16 +444,7 @@ mrb_value mrb_any_to_s(mrb_state *mrb, mrb_value obj) { const char *cname = mrb_obj_classname(mrb, obj); - size_t len; - mrb_value str; - struct RString *s; - - len = strlen(cname)+6+16; - str = mrb_str_new(mrb, 0, len); /* 6:tags 16:addr */ - s = mrb_str_ptr(str); - s->len = sprintf(s->ptr, "#<%s:0x%lx>", cname, (unsigned long)(obj.value.p)); - - return str; + return mrb_sprintf(mrb, "#<%s:%p>", cname, mrb_voidp(obj)); } /* |
