Date: Tue, 10 Apr 2012 15:29:29 +0000 (UTC) From: Jens Schweikhardt <schweikh@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r234101 - head/usr.bin/lex Message-ID: <201204101529.q3AFTTj6029568@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204101529.q3AFTTj6029568>