summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authorngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-07-01 18:11:11 +0000
committerngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-07-01 18:11:11 +0000
commit3418a277d8359ac10ba0ccc047b9189d8f5f6fe3 (patch)
treee8669bf9082e68dc7a1dd54f8e825f2f1d528edc /string.c
parentbc1d7b16490fecd019aa19e9cdc84a2d77af429f (diff)
* string.c: Partially reverts r55547 and r55555.
ChangeLog about the reverted changes are also deleted in this file. [Bug #12536] [ruby-dev:49699] [ruby-dev:49702] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/string.c b/string.c
index a755785b96..dfdd3d1f4d 100644
--- a/string.c
+++ b/string.c
@@ -120,7 +120,6 @@ VALUE rb_cSymbol;
if (UNLIKELY(term_fill_len > 1))\
memset(term_fill_ptr, 0, term_fill_len);\
} while (0)
-#define TERM_LEN_MAX 4 /* UTF-32LE, UTF-32BE */
#define RESIZE_CAPA(str,capacity) do {\
const int termlen = TERM_LEN(str);\
@@ -714,7 +713,7 @@ str_new0(VALUE klass, const char *ptr, long len, int termlen)
static VALUE
str_new(VALUE klass, const char *ptr, long len)
{
- return str_new0(klass, ptr, len, TERM_LEN_MAX);
+ return str_new0(klass, ptr, len, 1);
}
VALUE
@@ -726,7 +725,7 @@ rb_str_new(const char *ptr, long len)
VALUE
rb_usascii_str_new(const char *ptr, long len)
{
- VALUE str = str_new0(rb_cString, ptr, len, 1); /* termlen == 1 */
+ VALUE str = rb_str_new(ptr, len);
ENCODING_CODERANGE_SET(str, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
return str;
}
@@ -734,7 +733,7 @@ rb_usascii_str_new(const char *ptr, long len)
VALUE
rb_utf8_str_new(const char *ptr, long len)
{
- VALUE str = str_new0(rb_cString, ptr, len, 1); /* termlen == 1 */
+ VALUE str = str_new(rb_cString, ptr, len);
rb_enc_associate_index(str, rb_utf8_encindex());
return str;
}
@@ -758,17 +757,10 @@ rb_str_new_cstr(const char *ptr)
return rb_str_new(ptr, strlen(ptr));
}
-static VALUE
-str_new0_cstr(const char *ptr, int termlen)
-{
- must_not_null(ptr);
- return str_new0(rb_cString, ptr, strlen(ptr), termlen);
-}
-
VALUE
rb_usascii_str_new_cstr(const char *ptr)
{
- VALUE str = str_new0_cstr(ptr, 1); /* termlen == 1 */
+ VALUE str = rb_str_new_cstr(ptr);
ENCODING_CODERANGE_SET(str, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
return str;
}
@@ -776,7 +768,7 @@ rb_usascii_str_new_cstr(const char *ptr)
VALUE
rb_utf8_str_new_cstr(const char *ptr)
{
- VALUE str = str_new0_cstr(ptr, 1); /* termlen == 1 */
+ VALUE str = rb_str_new_cstr(ptr);
rb_enc_associate_index(str, rb_utf8_encindex());
return str;
}
@@ -1202,7 +1194,7 @@ rb_str_buf_new(long capa)
}
FL_SET(str, STR_NOEMBED);
RSTRING(str)->as.heap.aux.capa = capa;
- RSTRING(str)->as.heap.ptr = ALLOC_N(char, capa + TERM_LEN_MAX);
+ RSTRING(str)->as.heap.ptr = ALLOC_N(char, capa+1);
RSTRING(str)->as.heap.ptr[0] = '\0';
return str;