ruby-changes:43478
From: ngoto <ko1@a...>
Date: Fri, 1 Jul 2016 12:58:58 +0900 (JST)
Subject: [ruby-changes:43478] ngoto:r55551 (trunk): string.c: Add parentheses to avoid C source code ambiguity. [Bug #12536]
ngoto 2016-07-01 12:58:51 +0900 (Fri, 01 Jul 2016) New Revision: 55551 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=55551 Log: string.c: Add parentheses to avoid C source code ambiguity. [Bug #12536] Modified files: trunk/string.c Index: string.c =================================================================== --- string.c (revision 55550) +++ string.c (revision 55551) @@ -128,7 +128,7 @@ VALUE rb_cSymbol; https://github.com/ruby/ruby/blob/trunk/string.c#L128 } while (0) #define RESIZE_CAPA_TERM(str,capacity,termlen) do {\ if (STR_EMBED_P(str)) {\ - if ((capacity) > RSTRING_EMBED_LEN_MAX + 1 - (termlen)) {\ + if ((capacity) > (RSTRING_EMBED_LEN_MAX + 1 - (termlen))) {\ char *const tmp = ALLOC_N(char, (capacity)+termlen);\ const long tlen = RSTRING_LEN(str);\ memcpy(tmp, RSTRING_PTR(str), tlen);\ @@ -651,7 +651,7 @@ size_t https://github.com/ruby/ruby/blob/trunk/string.c#L651 rb_str_capacity(VALUE str) { if (STR_EMBED_P(str)) { - return RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str); + return (RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str)); } else if (FL_TEST(str, STR_SHARED|STR_NOFREE)) { return RSTRING(str)->as.heap.len; @@ -695,7 +695,7 @@ str_new0(VALUE klass, const char *ptr, l https://github.com/ruby/ruby/blob/trunk/string.c#L695 RUBY_DTRACE_CREATE_HOOK(STRING, len); str = str_alloc(klass); - if (len > RSTRING_EMBED_LEN_MAX + 1 - termlen) { + if (len > (RSTRING_EMBED_LEN_MAX + 1 - termlen)) { RSTRING(str)->as.heap.aux.capa = len; RSTRING(str)->as.heap.ptr = ALLOC_N(char, len + termlen); STR_SET_NOEMBED(str); @@ -1262,7 +1262,7 @@ str_shared_replace(VALUE str, VALUE str2 https://github.com/ruby/ruby/blob/trunk/string.c#L1262 OBJ_INFECT(str, str2); termlen = rb_enc_mbminlen(enc); - if (RSTRING_LEN(str2) <= RSTRING_EMBED_LEN_MAX + 1 - termlen) { + if (RSTRING_LEN(str2) <= (RSTRING_EMBED_LEN_MAX + 1 - termlen)) { STR_SET_EMBED(str); memcpy(RSTRING_PTR(str), RSTRING_PTR(str2), RSTRING_LEN(str2)+termlen); STR_SET_EMBED_LEN(str, RSTRING_LEN(str2)); @@ -4146,7 +4146,7 @@ rb_str_drop_bytes(VALUE str, long len) https://github.com/ruby/ruby/blob/trunk/string.c#L4146 str_modifiable(str); if (len > olen) len = olen; nlen = olen - len; - if (nlen <= RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str)) { + if (nlen <= (RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str))) { char *oldptr = ptr; int fl = (int)(RBASIC(str)->flags & (STR_NOEMBED|STR_SHARED|STR_NOFREE)); STR_SET_EMBED(str); @@ -4997,7 +4997,7 @@ rb_str_setbyte(VALUE str, VALUE index, V https://github.com/ruby/ruby/blob/trunk/string.c#L4997 enc = STR_ENC_GET(str); head = RSTRING_PTR(str); ptr = &head[pos]; - if (len > RSTRING_EMBED_LEN_MAX + 1 - rb_enc_mbminlen(enc)) { + if (len > (RSTRING_EMBED_LEN_MAX + 1 - rb_enc_mbminlen(enc))) { cr = ENC_CODERANGE(str); switch (cr) { case ENC_CODERANGE_7BIT: @@ -5051,7 +5051,7 @@ str_byte_substr(VALUE str, long beg, lon https://github.com/ruby/ruby/blob/trunk/string.c#L5051 else p = s + beg; - if (len > RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str) && SHARABLE_SUBSTRING_P(beg, len, n)) { + if (len > (RSTRING_EMBED_LEN_MAX + 1 - TERM_LEN(str)) && SHARABLE_SUBSTRING_P(beg, len, n)) { str2 = rb_str_new_frozen(str); str2 = str_new_shared(rb_obj_class(str2), str2); RSTRING(str2)->as.heap.ptr += beg; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/