portability fix for bison-1.75

Paul Eggert eggert at CS.UCLA.EDU
Mon Jan 23 00:55:36 PST 2006


Kris Kennaway <kris at obsecurity.org> writes:

>> As far as I can tell, neither Pike 7.0 nor bro 0.8 is currently being
>> maintained by the upstream developer, so what procedure would you
>> prefer here, to make Bison 2.1 acceptable to you?  Should I send you a
>> patch for these programs personally?
>
> Yes, that would be best.

OK, thanks, here are proposed patches for both.

diff -pru bro-pub-0.8a88/parse.in bro-pub-0.8a88-fix/parse.in
--- bro-pub-0.8a88/parse.in	2004-03-20 16:55:13.000000000 -0800
+++ bro-pub-0.8a88-fix/parse.in	2006-01-23 00:47:29.000000000 -0800
@@ -94,7 +94,7 @@ extern int yyerror(const char[]);
 extern int brolex();
 
 #define YYLLOC_DEFAULT(Current, Rhs, N) \
-	Current = Rhs[N];
+	((Current) = (Rhs)[N])
 
 /*
  * Part of the module facility: while parsing, keep track of which
diff -pru pike-7.0.361/src/language.yacc pike-7.0.361-fix/src/language.yacc
--- pike-7.0.361/src/language.yacc	2001-08-02 16:10:39.000000000 -0700
+++ pike-7.0.361-fix/src/language.yacc	2006-01-23 00:53:38.000000000 -0800
@@ -259,7 +259,7 @@ static void __yy_memcpy(char *to, char *
 int yylex(YYSTYPE *yylval);
 /* Bison is stupid, and tries to optimize for space... */
 #ifdef YYBISON
-#define short int
+/* #define short int (commented out since it breaks with some Bisons) */
 #endif /* YYBISON */
 %}
 


More information about the freebsd-ports mailing list