generic-poky/meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch

84 lines
2.2 KiB
Diff

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.
--- iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:46:29 1.1
+++ iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:47:26
@@ -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;