summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-21 19:26:18 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-21 19:26:18 +0000
commit5ffd0cc80fda095b69660fb4ae72ffd227e9f7b7 (patch)
treec9edbcee6c2018a6762987219c48168e1eb6b936 /string.c
parentcd9e9c6debcf893ea5fa70e42dc1875afaf0066f (diff)
* include/ruby/intern.h (rb_str_buf_new2): optimization for literals.
* string.c (str_buf_cat): returns VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/string.c b/string.c
index 13c98ad332..387786fe07 100644
--- a/string.c
+++ b/string.c
@@ -28,6 +28,7 @@
#undef rb_str_new2
#undef rb_tainted_str_new2
#undef rb_usascii_str_new2
+#undef rb_str_buf_new2
#undef rb_str_buf_cat2
#undef rb_str_cat2
@@ -1400,7 +1401,7 @@ rb_str_resize(VALUE str, long len)
return str;
}
-static long
+static VALUE
str_buf_cat(VALUE str, const char *ptr, long len)
{
long capa, total, off = -1;
@@ -3746,7 +3747,7 @@ rb_str_inspect(VALUE str)
{
rb_encoding *enc = STR_ENC_GET(str);
char *p, *pend;
- VALUE result = rb_str_buf_new2("");
+ VALUE result = rb_str_buf_new(0);
if (!rb_enc_asciicompat(enc)) enc = rb_usascii_encoding();
rb_enc_associate(result, enc);