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 /struct.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 'struct.c')
-rw-r--r-- | struct.c | 12 |
1 files changed, 2 insertions, 10 deletions
@@ -476,19 +476,11 @@ inspect_struct(s, dummy, recur) long i; if (recur) { - char *cname = rb_class2name(rb_obj_class(s)); - size_t len = strlen(cname) + 14; - VALUE str = rb_str_new(0, len); - - snprintf(RSTRING(str)->ptr, len+1, "#<struct %s:...>", cname); - RSTRING(str)->len = strlen(RSTRING(str)->ptr); - return str; + return rb_sprintf("#<struct %s:...>", cname); } members = rb_struct_members(s); - str = rb_str_buf_new2("#<struct "); - rb_str_cat2(str, cname); - rb_str_cat2(str, " "); + str = rb_sprintf("#<struct %s ", cname); for (i=0; i<RSTRUCT(s)->len; i++) { VALUE slot; ID id; |