diff options
author | schweikh <schweikh@FreeBSD.org> | 2012-04-10 15:29:28 +0000 |
---|---|---|
committer | schweikh <schweikh@FreeBSD.org> | 2012-04-10 15:29:28 +0000 |
commit | 3efe44ddf85973b60312802cf3d09838fa5e7984 (patch) | |
tree | 77278524ab6021255a94413ba568213462551744 /usr.bin/lex | |
parent | 2b061688bedeb89c18eafff664ee70c075765868 (diff) | |
download | FreeBSD-src-3efe44ddf85973b60312802cf3d09838fa5e7984.zip FreeBSD-src-3efe44ddf85973b60312802cf3d09838fa5e7984.tar.gz |
Parenthesize args in yyless() and unput() replacement text
so they are safer when used with expressions.
MFC after: 1 week
Diffstat (limited to 'usr.bin/lex')
-rw-r--r-- | usr.bin/lex/flex.skl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/lex/flex.skl b/usr.bin/lex/flex.skl index ac8eac2..ef5ee14 100644 --- a/usr.bin/lex/flex.skl +++ b/usr.bin/lex/flex.skl @@ -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 |