Skip site navigation (1)Skip section navigation (2)
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>