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

ruby-changes:11306

From: nobu <ko1@a...>
Date: Fri, 13 Mar 2009 08:07:03 +0900 (JST)
Subject: [ruby-changes:11306] Ruby:r22919 (trunk): * util.c (rv_strdup): macro to duplicate nul-terminated string.

nobu	2009-03-13 08:06:51 +0900 (Fri, 13 Mar 2009)

  New Revision: 22919

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22919

  Log:
    * util.c (rv_strdup): macro to duplicate nul-terminated string.
      [ruby-core:22852]

  Modified files:
    trunk/ChangeLog
    trunk/util.c
    trunk/version.h

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22918)
+++ ChangeLog	(revision 22919)
@@ -1,3 +1,8 @@
+Fri Mar 13 08:06:48 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* util.c (rv_strdup): macro to duplicate nul-terminated string.
+	  [ruby-core:22852]
+
 Thu Mar 12 22:41:41 2009  Tanaka Akira  <akr@f...>
 
 	* ext/openssl: suppress warnings.
Index: util.c
===================================================================
--- util.c	(revision 22918)
+++ util.c	(revision 22919)
@@ -3055,15 +3055,15 @@
 static char *dtoa_result;
 #endif
 
+#ifndef MULTIPLE_THREADS
 static char *
 rv_alloc(int i)
 {
-    return
-#ifndef MULTIPLE_THREADS
-        dtoa_result =
+    return dtoa_result = xmalloc(i);
+}
+#else
+#define rv_alloc(i) xmalloc(i)
 #endif
-        xmalloc(i);
-}
 
 static char *
 nrv_alloc(const char *s, char **rve, int n)
@@ -3077,6 +3077,8 @@
     return rv;
 }
 
+#define rv_strdup(s, rve) nrv_alloc(s, rve, strlen(s)+1)
+
 #ifndef MULTIPLE_THREADS
 /* freedtoa(s) must be used to free values s returned by dtoa
  * when MULTIPLE_THREADS is #defined.  It should be used in all cases,
@@ -3209,9 +3211,9 @@
         *decpt = 9999;
 #ifdef IEEE_Arith
         if (!word1(d) && !(word0(d) & 0xfffff))
-            return nrv_alloc("Infinity", rve, 8);
+            return rv_strdup("Infinity", rve);
 #endif
-        return nrv_alloc("NaN", rve, 3);
+        return rv_strdup("NaN", rve);
     }
 #endif
 #ifdef IBM
@@ -3219,7 +3221,7 @@
 #endif
     if (!dval(d)) {
         *decpt = 1;
-        return nrv_alloc("0", rve, 1);
+        return rv_strdup("0", rve);
     }
 
 #ifdef SET_INEXACT
Index: version.h
===================================================================
--- version.h	(revision 22918)
+++ version.h	(revision 22919)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.2"
-#define RUBY_RELEASE_DATE "2009-03-12"
+#define RUBY_RELEASE_DATE "2009-03-13"
 #define RUBY_PATCHLEVEL -1
 #define RUBY_BRANCH_NAME "trunk"
 
@@ -8,7 +8,7 @@
 #define RUBY_VERSION_TEENY 1
 #define RUBY_RELEASE_YEAR 2009
 #define RUBY_RELEASE_MONTH 3
-#define RUBY_RELEASE_DAY 12
+#define RUBY_RELEASE_DAY 13
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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