diff options
author | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-01 18:11:11 +0000 |
---|---|---|
committer | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-01 18:11:11 +0000 |
commit | 3418a277d8359ac10ba0ccc047b9189d8f5f6fe3 (patch) | |
tree | e8669bf9082e68dc7a1dd54f8e825f2f1d528edc /string.c | |
parent | bc1d7b16490fecd019aa19e9cdc84a2d77af429f (diff) | |
download | ruby-3418a277d8359ac10ba0ccc047b9189d8f5f6fe3.tar.gz |
* 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.c | 20 |
1 files changed, 6 insertions, 14 deletions
@@ -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; |