summaryrefslogtreecommitdiffhomepage
path: root/src/object.c
diff options
context:
space:
mode:
authorCremno <[email protected]>2013-02-06 00:07:09 +0100
committerCremno <[email protected]>2013-02-06 00:07:09 +0100
commit11869a433b220a00b9a5fea41b7389bf9b39e398 (patch)
treeaae91d6dee1e2b8c76b150a7031f874e6554976f /src/object.c
parent913faa43c83f31898a66dad394f609e547e1d3bd (diff)
downloadmruby-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/object.c')
-rw-r--r--src/object.c12
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));
}
/*