svn commit: r234101 - head/usr.bin/lex
Jens Schweikhardt
schweikh at FreeBSD.org
Tue Apr 10 15:29:29 UTC 2012
Author: schweikh
Date: Tue Apr 10 15:29:28 2012
New Revision: 234101
URL: http://svn.freebsd.org/changeset/base/234101
Log:
Parenthesize args in yyless() and unput() replacement text
so they are safer when used with expressions.
MFC after: 1 week
Modified:
head/usr.bin/lex/flex.skl
Modified: head/usr.bin/lex/flex.skl
==============================================================================
--- head/usr.bin/lex/flex.skl Tue Apr 10 14:29:56 2012 (r234100)
+++ head/usr.bin/lex/flex.skl Tue Apr 10 15:29:28 2012 (r234101)
@@ -122,7 +122,7 @@ extern FILE *yyin, *yyout;
#define EOB_ACT_LAST_MATCH 2
/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator). This
+ * into a single C statement (which needs a semi-colon terminator). This
* avoids problems with code like:
*
* if ( condition_holds )
@@ -143,12 +143,12 @@ extern FILE *yyin, *yyout;
/* Undo effects of setting up yytext. */ \
*yy_cp = yy_hold_char; \
YY_RESTORE_YY_MORE_OFFSET \
- yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ yy_c_buf_p = yy_cp = yy_bp + (n) - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-#define unput(c) yyunput( c, yytext_ptr )
+#define unput(c) yyunput( (c), yytext_ptr )
/* The following is because we cannot portably get our hands on size_t
* (without autoconf's help, which isn't available because we want
More information about the svn-src-all
mailing list