diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-23 01:02:18 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-23 01:02:18 +0000 |
commit | 6524f34a2688436249d111a3456a097c7111722c (patch) | |
tree | f9c83bf95a7873e01e38ff396a8bc5490b61162c /object.c | |
parent | e6a02b93747266925fd536a30715352bf2c60c07 (diff) |
* sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String,
using missing/vsnprintf.c. [ruby-dev:26580]
* missing/vsnprintf.c: made the output changeable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 12 |
1 files changed, 2 insertions, 10 deletions
@@ -298,13 +298,9 @@ rb_any_to_s(obj) VALUE obj; { char *cname = rb_obj_classname(obj); - size_t len; VALUE str; - len = strlen(cname)+6+16; - str = rb_str_new(0, len); /* 6:tags 16:addr */ - snprintf(RSTRING(str)->ptr, len+1, "#<%s:0x%lx>", cname, obj); - RSTRING(str)->len = strlen(RSTRING(str)->ptr); + str = rb_sprintf("#<%s:0x%lx>", cname, obj); if (OBJ_TAINTED(obj)) OBJ_TAINT(str); return str; @@ -385,14 +381,10 @@ rb_obj_inspect(obj) && ROBJECT(obj)->iv_tbl && ROBJECT(obj)->iv_tbl->num_entries > 0) { VALUE str; - size_t len; char *c; c = rb_obj_classname(obj); - len = strlen(c)+10+16; - str = rb_str_new(0, len); /* 10:tags 16:addr */ - snprintf(RSTRING(str)->ptr, len+1, "-<%s:0x%lx", c, obj); - RSTRING(str)->len = strlen(RSTRING(str)->ptr); + str = rb_sprintf("-<%s:0x%lx", c, obj); return rb_exec_recursive(inspect_obj, obj, str); } return rb_funcall(obj, rb_intern("to_s"), 0, 0); |