diff options
Diffstat (limited to 'packages/iproute2/iproute2-2.6.20/new-flex-fix.patch')
-rw-r--r-- | packages/iproute2/iproute2-2.6.20/new-flex-fix.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/packages/iproute2/iproute2-2.6.20/new-flex-fix.patch b/packages/iproute2/iproute2-2.6.20/new-flex-fix.patch new file mode 100644 index 0000000000..af7272163e --- /dev/null +++ b/packages/iproute2/iproute2-2.6.20/new-flex-fix.patch @@ -0,0 +1,83 @@ +The tc command was failing to build due to flex errors. These errors are +caused by an incompatible change to flex in recent versions, including the +version shipped with OE. + +This fix is as per the one used by opensure: + + http://lists.opensuse.org/opensuse-commit/2006-04/msg00090.html + +and simple renames str to prevent it conflicting. + +--- iproute-2.6.20-070313/tc/emp_ematch.l 2007/03/17 02:52:20 1.1 ++++ iproute-2.6.20-070313/tc/emp_ematch.l 2007/03/17 02:54:01 +@@ -63,7 +63,7 @@ + + %} + +-%x str ++%x STR + + %option 8bit stack warn noyywrap prefix="ematch_" + %% +@@ -78,17 +78,17 @@ + } + strbuf_index = 0; + +- BEGIN(str); ++ BEGIN(STR); + } + +-<str>\" { ++<STR>\" { + BEGIN(INITIAL); + yylval.b = bstr_new(strbuf, strbuf_index); + yylval.b->quoted = 1; + return ATTRIBUTE; + } + +-<str>\\[0-7]{1,3} { /* octal escape sequence */ ++<STR>\\[0-7]{1,3} { /* octal escape sequence */ + int res; + + sscanf(yytext + 1, "%o", &res); +@@ -100,12 +100,12 @@ + strbuf_append_char((unsigned char) res); + } + +-<str>\\[0-9]+ { /* catch wrong octal escape seq. */ ++<STR>\\[0-9]+ { /* catch wrong octal escape seq. */ + fprintf(stderr, "error: invalid octale escape sequence\n"); + return ERROR; + } + +-<str>\\x[0-9a-fA-F]{1,2} { ++<STR>\\x[0-9a-fA-F]{1,2} { + int res; + + sscanf(yytext + 2, "%x", &res); +@@ -118,16 +118,16 @@ + strbuf_append_char((unsigned char) res); + } + +-<str>\\n strbuf_append_char('\n'); +-<str>\\r strbuf_append_char('\r'); +-<str>\\t strbuf_append_char('\t'); +-<str>\\v strbuf_append_char('\v'); +-<str>\\b strbuf_append_char('\b'); +-<str>\\f strbuf_append_char('\f'); +-<str>\\a strbuf_append_char('\a'); ++<STR>\\n strbuf_append_char('\n'); ++<STR>\\r strbuf_append_char('\r'); ++<STR>\\t strbuf_append_char('\t'); ++<STR>\\v strbuf_append_char('\v'); ++<STR>\\b strbuf_append_char('\b'); ++<STR>\\f strbuf_append_char('\f'); ++<STR>\\a strbuf_append_char('\a'); + +-<str>\\(.|\n) strbuf_append_char(yytext[1]); +-<str>[^\\\n\"]+ strbuf_append_charp(yytext); ++<STR>\\(.|\n) strbuf_append_char(yytext[1]); ++<STR>[^\\\n\"]+ strbuf_append_charp(yytext); + + [aA][nN][dD] return AND; + [oO][rR] return OR; |