ruby-changes:36947
From: nobu <ko1@a...>
Date: Fri, 26 Dec 2014 15:21:03 +0900 (JST)
Subject: [ruby-changes:36947] nobu:r49028 (trunk): marshal.c: append at once
nobu 2014-12-26 15:20:55 +0900 (Fri, 26 Dec 2014) New Revision: 49028 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49028 Log: marshal.c: append at once * marshal.c (w_long): append at once by w_nbyte() instead of appending byte by byte. Modified files: trunk/ChangeLog trunk/marshal.c Index: ChangeLog =================================================================== --- ChangeLog (revision 49027) +++ ChangeLog (revision 49028) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Fri Dec 26 15:20:54 2014 Nobuyoshi Nakada <nobu@r...> + + * marshal.c (w_long): append at once by w_nbyte() instead of + appending byte by byte. + Fri Dec 26 15:13:13 2014 Nobuyoshi Nakada <nobu@r...> * ext/json/parser/parser.rl (unescape_unicode): check if valid Index: marshal.c =================================================================== --- marshal.c (revision 49027) +++ marshal.c (revision 49028) @@ -277,7 +277,7 @@ static void https://github.com/ruby/ruby/blob/trunk/marshal.c#L277 w_long(long x, struct dump_arg *arg) { char buf[sizeof(long)+1]; - int i, len = 0; + int i; #if SIZEOF_LONG > 4 if (!(RSHIFT(x, 31) == 0 || RSHIFT(x, 31) == -1)) { @@ -310,10 +310,7 @@ w_long(long x, struct dump_arg *arg) https://github.com/ruby/ruby/blob/trunk/marshal.c#L310 break; } } - len = i; - for (i=0;i<=len;i++) { - w_byte(buf[i], arg); - } + w_nbyte(buf, i+1, arg); } #ifdef DBL_MANT_DIG -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/