[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]