regcomp.h: Parenthesize macro formal parameter
authorKarl Williamson <public@khwilliamson.com>
Fri, 9 Aug 2013 18:21:53 +0000 (12:21 -0600)
committerKarl Williamson <public@khwilliamson.com>
Tue, 24 Sep 2013 17:36:14 +0000 (11:36 -0600)
Not doing so can cause problems, so it is standard procedure to
parenthesize all parameters within a macro definition.

regcomp.h

index 92c2f3f..5e8bcb5 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -471,7 +471,7 @@ struct regnode_ssc {
         && (((struct regnode_charclass_class*)(p))->classflags))
 #define ANYOF_CLASS_TEST_ANY_SET(p) ANYOF_POSIXL_TEST_ANY_SET(p)
 
-#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= source->classflags ; } STMT_END
+#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
 #define ANYOF_CLASS_OR(source, dest) ANYOF_POSIXL_OR((source), (dest))
 
 #define ANYOF_BITMAP_ZERO(ret) Zero(((struct regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char)