summaryrefslogtreecommitdiffstats
path: root/meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch')
-rw-r--r--meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch b/meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch
new file mode 100644
index 0000000000..2c04087839
--- /dev/null
+++ b/meta/packages/iproute2/iproute2-2.6.18/new-flex-fix.patch
@@ -0,0 +1,83 @@
1The tc command was failing to build due to flex errors. These errors are
2caused by an incompatible change to flex in recent versions, including the
3version shipped with OE.
4
5This fix is as per the one used by opensure:
6
7 http://lists.opensuse.org/opensuse-commit/2006-04/msg00090.html
8
9and simple renames str to prevent it conflicting.
10
11--- iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:46:29 1.1
12+++ iproute2-2.6.16-060323/tc/emp_ematch.l 2006/10/30 22:47:26
13@@ -63,7 +63,7 @@
14
15 %}
16
17-%x str
18+%x STR
19
20 %option 8bit stack warn noyywrap prefix="ematch_"
21 %%
22@@ -78,17 +78,17 @@
23 }
24 strbuf_index = 0;
25
26- BEGIN(str);
27+ BEGIN(STR);
28 }
29
30-<str>\" {
31+<STR>\" {
32 BEGIN(INITIAL);
33 yylval.b = bstr_new(strbuf, strbuf_index);
34 yylval.b->quoted = 1;
35 return ATTRIBUTE;
36 }
37
38-<str>\\[0-7]{1,3} { /* octal escape sequence */
39+<STR>\\[0-7]{1,3} { /* octal escape sequence */
40 int res;
41
42 sscanf(yytext + 1, "%o", &res);
43@@ -100,12 +100,12 @@
44 strbuf_append_char((unsigned char) res);
45 }
46
47-<str>\\[0-9]+ { /* catch wrong octal escape seq. */
48+<STR>\\[0-9]+ { /* catch wrong octal escape seq. */
49 fprintf(stderr, "error: invalid octale escape sequence\n");
50 return ERROR;
51 }
52
53-<str>\\x[0-9a-fA-F]{1,2} {
54+<STR>\\x[0-9a-fA-F]{1,2} {
55 int res;
56
57 sscanf(yytext + 2, "%x", &res);
58@@ -118,16 +118,16 @@
59 strbuf_append_char((unsigned char) res);
60 }
61
62-<str>\\n strbuf_append_char('\n');
63-<str>\\r strbuf_append_char('\r');
64-<str>\\t strbuf_append_char('\t');
65-<str>\\v strbuf_append_char('\v');
66-<str>\\b strbuf_append_char('\b');
67-<str>\\f strbuf_append_char('\f');
68-<str>\\a strbuf_append_char('\a');
69+<STR>\\n strbuf_append_char('\n');
70+<STR>\\r strbuf_append_char('\r');
71+<STR>\\t strbuf_append_char('\t');
72+<STR>\\v strbuf_append_char('\v');
73+<STR>\\b strbuf_append_char('\b');
74+<STR>\\f strbuf_append_char('\f');
75+<STR>\\a strbuf_append_char('\a');
76
77-<str>\\(.|\n) strbuf_append_char(yytext[1]);
78-<str>[^\\\n\"]+ strbuf_append_charp(yytext);
79+<STR>\\(.|\n) strbuf_append_char(yytext[1]);
80+<STR>[^\\\n\"]+ strbuf_append_charp(yytext);
81
82 [aA][nN][dD] return AND;
83 [oO][rR] return OR;