From 258f80d3d075fd88d3d86fd284a2d1dfbd8991ae Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 8 Feb 2016 03:44:48 +0000 Subject: 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 --- string.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'string.c') diff --git a/string.c b/string.c index 533f772467..3070cbff03 100644 --- a/string.c +++ b/string.c @@ -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); -- cgit v1.2.3