diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 03:44:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 03:44:48 +0000 |
commit | 258f80d3d075fd88d3d86fd284a2d1dfbd8991ae (patch) | |
tree | 7755a5ae7fcaf8b60e053aeb47d8cddeffe6a100 | |
parent | e31928514a9703a514d2af8e3c8db2d55395992e (diff) | |
download | ruby-258f80d3d075fd88d3d86fd284a2d1dfbd8991ae.tar.gz |
string.c: remove magic number
* string.c (rb_str_dump): share same string literal instead of a
magic number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | string.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -5483,6 +5483,7 @@ rb_str_dump(VALUE str) char *q, *qend; VALUE result; int u8 = (encidx == rb_utf8_encindex()); + static const char nonascii_suffix[] = ".force_encoding(\"%s\")"; len = 2; /* "" */ p = RSTRING_PTR(str); pend = p + RSTRING_LEN(str); @@ -5521,7 +5522,7 @@ rb_str_dump(VALUE str) } } if (!rb_enc_asciicompat(enc)) { - len += 19; /* ".force_encoding('')" */ + len += strlen(nonascii_suffix) - rb_strlen_lit("%s"); len += strlen(enc->name); } @@ -5595,7 +5596,7 @@ rb_str_dump(VALUE str) *q++ = '"'; *q = '\0'; if (!rb_enc_asciicompat(enc)) { - snprintf(q, qend-q, ".force_encoding(\"%s\")", enc->name); + snprintf(q, qend-q, nonascii_suffix, enc->name); encidx = rb_ascii8bit_encindex(); } OBJ_INFECT_RAW(result, str); |