diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-05 06:05:14 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-11-05 06:05:14 +0000 |
commit | a707ab4bc8a29241440f56696098efa2f7f3ff45 (patch) | |
tree | 585d88e01e027ee56f1ac6a4c3851ab79c25fc5c /string.c | |
parent | 7fecd1e75d80131c36d6615c38a6b869dfa81054 (diff) | |
download | ruby-a707ab4bc8a29241440f56696098efa2f7f3ff45.tar.gz |
string.c: no terminator
* string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not
NUL-terminate the result string, in the future, so it will not
be needed in other cases.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -128,7 +128,10 @@ VALUE rb_cSymbol; #define STR_ENC_GET(str) get_encoding(str) -#if 1 +#if !defined SHARABLE_MIDDLE_SUBSTRING +# define SHARABLE_MIDDLE_SUBSTRING 0 +#endif +#if !SHARABLE_MIDDLE_SUBSTRING #define SHARABLE_SUBSTRING_P(beg, len, end) ((beg) + (len) == (end)) #else #define SHARABLE_SUBSTRING_P(beg, len, end) 1 @@ -7227,7 +7230,9 @@ rb_str_lstrip_bang(VALUE str) s = start + loffset; memmove(start, s, len); STR_SET_LEN(str, len); +#if !SHARABLE_MIDDLE_SUBSTRING TERM_FILL(start+len, rb_enc_mbminlen(enc)); +#endif return str; } return Qnil; @@ -7309,7 +7314,9 @@ rb_str_rstrip_bang(VALUE str) long len = olen - roffset; STR_SET_LEN(str, len); +#if !SHARABLE_MIDDLE_SUBSTRING TERM_FILL(start+len, rb_enc_mbminlen(enc)); +#endif return str; } return Qnil; @@ -7371,7 +7378,9 @@ rb_str_strip_bang(VALUE str) memmove(start, start + loffset, len); } STR_SET_LEN(str, len); +#if !SHARABLE_MIDDLE_SUBSTRING TERM_FILL(start+len, rb_enc_mbminlen(enc)); +#endif return str; } return Qnil; |