[asterisk-commits] tilghman: branch 1.6.2 r309251 - in /branches/1.6.2: ./ include/asterisk/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Mar 1 19:06:07 CST 2011


Author: tilghman
Date: Tue Mar  1 19:06:02 2011
New Revision: 309251

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=309251
Log:
Revert previous 2 commits, and instead conditionally redefine the same macro used in flex 2.5.35 that clashed with our workaround.

Not surprisingly, the workaround was exactly the same code as was provided by
the Flex maintainers, albeit in two different places, in different macros.

This should fix the FreeBSD builds, which have an older version of Flex.

Modified:
    branches/1.6.2/configure
    branches/1.6.2/configure.ac
    branches/1.6.2/include/asterisk/autoconfig.h.in
    branches/1.6.2/main/ast_expr2.fl
    branches/1.6.2/main/ast_expr2f.c

Modified: branches/1.6.2/configure.ac
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/configure.ac?view=diff&rev=309251&r1=309250&r2=309251
==============================================================================
--- branches/1.6.2/configure.ac (original)
+++ branches/1.6.2/configure.ac Tue Mar  1 19:06:02 2011
@@ -245,47 +245,6 @@
 		rm -rf ${tmp}
 	fi
 	])
-AC_CACHE_CHECK([for flex that ignores fwrite return value], [ac_cv_FLEX_WORKAROUND], [
-	if test "x$FLEX" != "x:" ; then
-		# Create a temporary directory $tmp in $TMPDIR (default /tmp).
-		# Use mktemp if possible; otherwise fall back on mkdir,
-		# with $RANDOM to make collisions less likely.
-		: ${TMPDIR=/tmp}
-		{
-		  tmp=`
-		    (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null
-		  ` &&
-		  test -n "$tmp" && test -d "$tmp"
-		} || {
-		  tmp=$TMPDIR/foo$$-$RANDOM
-		  (umask 077 && mkdir "$tmp")
-		} || exit $?
-		cat >$tmp/test.fl <<__EOL__
-%{
-#include <unistd.h>
-#include <stdio.h>
-static void yyunput (int c,char *buf_ptr  ) __attribute__((unused));
-static int input(void) __attribute__((unused));
-%}
-
-%%
-username    printf( "%s", getlogin() );
-__EOL__
-		${FLEX} -o ${tmp}/test.c ${tmp}/test.fl
-		${CC} -o ${tmp}/test.o -c ${tmp}/test.c -Wall -Werror >/dev/null 2>&1
-		if test -e "${tmp}/test.o"; then
-			ac_cv_FLEX_WORKAROUND=no
-		else
-			ac_cv_FLEX_WORKAROUND=yes
-		fi
-		rm -rf ${tmp}
-	fi
-	])
-
-if test "x${ac_cv_FLEX_WORKAROUND}" = "xyes"; then
-	AC_DEFINE([NEED_FLEX_FWRITE_WORKAROUND], 1, [Define to 1 if your system has a version of flex that does not check the return value of fwrite.])
-fi
-
 if test "x${ac_cv_path_BISON2}" = "x" ; then
 	BISON=:
 	PBX_BISON=0

Modified: branches/1.6.2/include/asterisk/autoconfig.h.in
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/include/asterisk/autoconfig.h.in?view=diff&rev=309251&r1=309250&r2=309251
==============================================================================
--- branches/1.6.2/include/asterisk/autoconfig.h.in (original)
+++ branches/1.6.2/include/asterisk/autoconfig.h.in Tue Mar  1 19:06:02 2011
@@ -940,10 +940,6 @@
 
 /* Build chan_misdn for mISDN 1.2 or later. */
 #undef MISDN_1_2
-
-/* Define to 1 if your system has a version of flex that does not check the
-   return value of fwrite. */
-#undef NEED_FLEX_FWRITE_WORKAROUND
 
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT

Modified: branches/1.6.2/main/ast_expr2.fl
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/ast_expr2.fl?view=diff&rev=309251&r1=309250&r2=309251
==============================================================================
--- branches/1.6.2/main/ast_expr2.fl (original)
+++ branches/1.6.2/main/ast_expr2.fl Tue Mar  1 19:06:02 2011
@@ -65,11 +65,9 @@
 #include "asterisk/channel.h"
 #endif
 
-#ifdef NEED_FLEX_FWRITE_WORKAROUND
-/*!\note Some versions of Flex use fwrite without checking its return value, which
- * is a warning on some compilers.  Therefore, we use this workaround, to trick
- * the compiler into suppressing this warning. */
-#define fwrite(a,b,c,d)	do { int __res = fwrite(a,b,c,d); (__res); } while (0)
+/* Conditionally redefine the macro from flex 2.5.35, in case someone uses flex <2.5.35 to regenerate this file. */
+#ifndef ECHO
+#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
 #endif
 
 enum valtype {

Modified: branches/1.6.2/main/ast_expr2f.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/ast_expr2f.c?view=diff&rev=309251&r1=309250&r2=309251
==============================================================================
--- branches/1.6.2/main/ast_expr2f.c (original)
+++ branches/1.6.2/main/ast_expr2f.c Tue Mar  1 19:06:02 2011
@@ -559,11 +559,9 @@
 #include "asterisk/channel.h"
 #endif
 
-#ifdef NEED_FLEX_FWRITE_WORKAROUND
-/*!\note Some versions of Flex use fwrite without checking its return value, which
- * is a warning on some compilers.  Therefore, we use this workaround, to trick
- * the compiler into suppressing this warning. */
-#define fwrite(a,b,c,d)	do { int __res = fwrite(a,b,c,d); (__res); } while (0)
+/* Redefine the macro from flex 2.5.35, in case someone uses flex <2.5.35 to regenerate this file. */
+#ifndef ECHO
+#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
 #endif
 
 enum valtype {
@@ -611,7 +609,7 @@
 static int curlycount = 0;
 static char *expr2_token_subst(const char *mess);
 
-#line 613 "ast_expr2f.c"
+#line 611 "ast_expr2f.c"
 
 #define INITIAL 0
 #define var 1
@@ -859,10 +857,10 @@
 	register int yy_act;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-#line 132 "ast_expr2.fl"
-
-
-#line 864 "ast_expr2f.c"
+#line 130 "ast_expr2.fl"
+
+
+#line 862 "ast_expr2f.c"
 
     yylval = yylval_param;
 
@@ -953,132 +951,132 @@
 
 case 1:
 YY_RULE_SETUP
+#line 132 "ast_expr2.fl"
+{ SET_COLUMNS; SET_STRING; return TOK_OR;}
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 133 "ast_expr2.fl"
+{ SET_COLUMNS; SET_STRING; return TOK_AND;}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
 #line 134 "ast_expr2.fl"
+{ SET_COLUMNS; SET_STRING; return TOK_EQ;}
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 135 "ast_expr2.fl"
 { SET_COLUMNS; SET_STRING; return TOK_OR;}
 	YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 135 "ast_expr2.fl"
+case 5:
+YY_RULE_SETUP
+#line 136 "ast_expr2.fl"
 { SET_COLUMNS; SET_STRING; return TOK_AND;}
 	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 136 "ast_expr2.fl"
+case 6:
+YY_RULE_SETUP
+#line 137 "ast_expr2.fl"
 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
 	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 137 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_OR;}
-	YY_BREAK
-case 5:
+case 7:
 YY_RULE_SETUP
 #line 138 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_AND;}
-	YY_BREAK
-case 6:
+{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
+	YY_BREAK
+case 8:
 YY_RULE_SETUP
 #line 139 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_EQ;}
-	YY_BREAK
-case 7:
+{ SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
+	YY_BREAK
+case 9:
 YY_RULE_SETUP
 #line 140 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
-	YY_BREAK
-case 8:
+{ SET_COLUMNS; SET_STRING; return TOK_GT;}
+	YY_BREAK
+case 10:
 YY_RULE_SETUP
 #line 141 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
-	YY_BREAK
-case 9:
+{ SET_COLUMNS; SET_STRING; return TOK_LT;}
+	YY_BREAK
+case 11:
 YY_RULE_SETUP
 #line 142 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_GT;}
-	YY_BREAK
-case 10:
+{ SET_COLUMNS; SET_STRING; return TOK_GE;}
+	YY_BREAK
+case 12:
 YY_RULE_SETUP
 #line 143 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_LT;}
-	YY_BREAK
-case 11:
+{ SET_COLUMNS; SET_STRING; return TOK_LE;}
+	YY_BREAK
+case 13:
 YY_RULE_SETUP
 #line 144 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_GE;}
-	YY_BREAK
-case 12:
+{ SET_COLUMNS; SET_STRING; return TOK_NE;}
+	YY_BREAK
+case 14:
 YY_RULE_SETUP
 #line 145 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_LE;}
-	YY_BREAK
-case 13:
+{ SET_COLUMNS; SET_STRING; return TOK_PLUS;}
+	YY_BREAK
+case 15:
 YY_RULE_SETUP
 #line 146 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_NE;}
-	YY_BREAK
-case 14:
+{ SET_COLUMNS; SET_STRING; return TOK_COMMA;}
+	YY_BREAK
+case 16:
 YY_RULE_SETUP
 #line 147 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_PLUS;}
-	YY_BREAK
-case 15:
+{ SET_COLUMNS; SET_STRING; return TOK_MINUS;}
+	YY_BREAK
+case 17:
 YY_RULE_SETUP
 #line 148 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_COMMA;}
-	YY_BREAK
-case 16:
+{ SET_COLUMNS; SET_STRING; return TOK_MULT;}
+	YY_BREAK
+case 18:
 YY_RULE_SETUP
 #line 149 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_MINUS;}
-	YY_BREAK
-case 17:
+{ SET_COLUMNS; SET_STRING; return TOK_DIV;}
+	YY_BREAK
+case 19:
 YY_RULE_SETUP
 #line 150 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_MULT;}
-	YY_BREAK
-case 18:
+{ SET_COLUMNS; SET_STRING; return TOK_MOD;}
+	YY_BREAK
+case 20:
 YY_RULE_SETUP
 #line 151 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_DIV;}
-	YY_BREAK
-case 19:
+{ SET_COLUMNS; SET_STRING; return TOK_COND;}
+	YY_BREAK
+case 21:
 YY_RULE_SETUP
 #line 152 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_MOD;}
-	YY_BREAK
-case 20:
+{ SET_COLUMNS; SET_STRING; return TOK_COMPL;}
+	YY_BREAK
+case 22:
 YY_RULE_SETUP
 #line 153 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_COND;}
-	YY_BREAK
-case 21:
+{ SET_COLUMNS; SET_STRING; return TOK_COLON;}
+	YY_BREAK
+case 23:
 YY_RULE_SETUP
 #line 154 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_COMPL;}
-	YY_BREAK
-case 22:
+{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
+	YY_BREAK
+case 24:
 YY_RULE_SETUP
 #line 155 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_COLON;}
-	YY_BREAK
-case 23:
+{ SET_COLUMNS; SET_STRING; return TOK_LP;}
+	YY_BREAK
+case 25:
 YY_RULE_SETUP
 #line 156 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
-	YY_BREAK
-case 24:
+{ SET_COLUMNS; SET_STRING; return TOK_RP;}
+	YY_BREAK
+case 26:
 YY_RULE_SETUP
 #line 157 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_LP;}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 158 "ast_expr2.fl"
-{ SET_COLUMNS; SET_STRING; return TOK_RP;}
-	YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 159 "ast_expr2.fl"
 {
 		/* gather the contents of ${} expressions, with trailing stuff,
 		 * into a single TOKEN.
@@ -1091,24 +1089,24 @@
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 169 "ast_expr2.fl"
+#line 167 "ast_expr2.fl"
 {}
 	YY_BREAK
 case 28:
 /* rule 28 can match eol */
 YY_RULE_SETUP
-#line 170 "ast_expr2.fl"
+#line 168 "ast_expr2.fl"
 {SET_COLUMNS; SET_STRING; return TOKEN;}
 	YY_BREAK
 case 29:
 /* rule 29 can match eol */
 YY_RULE_SETUP
-#line 172 "ast_expr2.fl"
+#line 170 "ast_expr2.fl"
 {/* what to do with eol */}
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 173 "ast_expr2.fl"
+#line 171 "ast_expr2.fl"
 {
 		SET_COLUMNS;
 		/* the original behavior of the expression parser was
@@ -1121,7 +1119,7 @@
 case 31:
 /* rule 31 can match eol */
 YY_RULE_SETUP
-#line 182 "ast_expr2.fl"
+#line 180 "ast_expr2.fl"
 {
 		SET_COLUMNS;
 		SET_STRING;
@@ -1131,7 +1129,7 @@
 case 32:
 /* rule 32 can match eol */
 YY_RULE_SETUP
-#line 188 "ast_expr2.fl"
+#line 186 "ast_expr2.fl"
 {
 		curlycount = 0;
 		BEGIN(var);
@@ -1141,7 +1139,7 @@
 case 33:
 /* rule 33 can match eol */
 YY_RULE_SETUP
-#line 194 "ast_expr2.fl"
+#line 192 "ast_expr2.fl"
 {
 		curlycount--;
 		if (curlycount < 0) {
@@ -1155,7 +1153,7 @@
 case 34:
 /* rule 34 can match eol */
 YY_RULE_SETUP
-#line 204 "ast_expr2.fl"
+#line 202 "ast_expr2.fl"
 {
 		curlycount++;
 		yymore();
@@ -1163,7 +1161,7 @@
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 210 "ast_expr2.fl"
+#line 208 "ast_expr2.fl"
 {
 		BEGIN(0);
 		SET_COLUMNS;
@@ -1173,7 +1171,7 @@
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 217 "ast_expr2.fl"
+#line 215 "ast_expr2.fl"
 {
 		curlycount = 0;
 		BEGIN(var);
@@ -1183,7 +1181,7 @@
 case 37:
 /* rule 37 can match eol */
 YY_RULE_SETUP
-#line 223 "ast_expr2.fl"
+#line 221 "ast_expr2.fl"
 {
 		char c = yytext[yyleng-1];
 		BEGIN(0);
@@ -1194,7 +1192,7 @@
 	}
 	YY_BREAK
 case YY_STATE_EOF(trail):
-#line 232 "ast_expr2.fl"
+#line 230 "ast_expr2.fl"
 {
 		BEGIN(0);
 		SET_COLUMNS;
@@ -1205,10 +1203,10 @@
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 240 "ast_expr2.fl"
+#line 238 "ast_expr2.fl"
 ECHO;
 	YY_BREAK
-#line 1210 "ast_expr2f.c"
+#line 1208 "ast_expr2f.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(var):
 	yyterminate();
@@ -2384,7 +2382,7 @@
 
 #define YYTABLES_NAME "yytables"
 
-#line 240 "ast_expr2.fl"
+#line 238 "ast_expr2.fl"
 
 
 




More information about the asterisk-commits mailing list