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

ruby-changes:18423

From: akr <ko1@a...>
Date: Sat, 1 Jan 2011 11:45:10 +0900 (JST)
Subject: [ruby-changes:18423] Ruby:r30446 (trunk): * strftime.c: parenthesize macro arguments.

akr	2011-01-01 11:45:04 +0900 (Sat, 01 Jan 2011)

  New Revision: 30446

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

  Log:
    * strftime.c: parenthesize macro arguments.

  Modified files:
    trunk/ChangeLog
    trunk/strftime.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 30445)
+++ ChangeLog	(revision 30446)
@@ -1,3 +1,7 @@
+Sat Jan  1 11:44:42 2011  Tanaka Akira  <akr@f...>
+
+	* strftime.c: parenthesize macro arguments.
+
 Sat Jan  1 11:10:29 2011  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/zlib/zlib.c: take care of platforms where long is bigger
Index: strftime.c
===================================================================
--- strftime.c	(revision 30445)
+++ strftime.c	(revision 30446)
@@ -120,7 +120,7 @@
 extern char *strchr();
 #endif
 
-#define range(low, item, hi)	max(low, min(item, hi))
+#define range(low, item, hi)	max((low), min((item), (hi)))
 
 #undef min	/* just in case */
 
@@ -212,10 +212,10 @@
 		} while (0)
 #define NEEDS(n) do if (s + (n) >= endp - 1) goto err; while (0)
 #define FILL_PADDING(i) do { \
-	if (!(flags & BIT_OF(LEFT)) && precision > i) { \
+	if (!(flags & BIT_OF(LEFT)) && precision > (i)) { \
 		NEEDS(precision); \
-		memset(s, padding ? padding : ' ', precision - i); \
-		s += precision - i; \
+		memset(s, padding ? padding : ' ', precision - (i)); \
+		s += precision - (i); \
 	} \
 	else { \
 		NEEDS(i); \
@@ -227,14 +227,14 @@
 			if (precision <= 0) precision = (def_prec); \
 			if (flags & BIT_OF(LEFT)) precision = 1; \
 			l = snprintf(s, endp - s, \
-				     ((padding == '0' || (!padding && def_pad == '0')) ? "%0*"fmt : "%*"fmt), \
-				     precision, val); \
+				     ((padding == '0' || (!padding && (def_pad) == '0')) ? "%0*"fmt : "%*"fmt), \
+				     precision, (val)); \
 			if (l < 0) goto err; \
 			s += l; \
 		} while (0)
 #define STRFTIME(fmt) \
 		do { \
-			i = rb_strftime_with_timespec(s, endp - s, fmt, vtm, timev, ts, gmt); \
+			i = rb_strftime_with_timespec(s, endp - s, (fmt), vtm, timev, ts, gmt); \
 			if (!i) return 0; \
 			if (precision > i) {\
 				memmove(s + precision - i, s, i);\
@@ -255,8 +255,8 @@
                                 if (precision <= 0) precision = (def_prec); \
                                 if (flags & BIT_OF(LEFT)) precision = 1; \
                                 args[0] = INT2FIX(precision); \
-                                args[1] = val; \
-                                if (padding == '0' || (!padding && def_pad == '0')) \
+                                args[1] = (val); \
+                                if (padding == '0' || (!padding && (def_pad) == '0')) \
                                         result = rb_str_format(2, args, rb_str_new2("%0*"fmt)); \
                                 else \
                                         result = rb_str_format(2, args, rb_str_new2("%*"fmt)); \

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

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