blob: c07e929b8b427a98335fdf7bf472e6c3f786c287 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Taken from Debian.
Build with newer flex versions.
--- modutils-2.4.27.0.orig/genksyms/lex.l
+++ modutils-2.4.27.0/genksyms/lex.l
@@ -130,6 +130,7 @@
static int suppress_type_lookup, dont_want_brace_phrase;
static struct string_list *next_node;
+ static int next_token = 0;
int token, count = 0;
struct string_list *cur_node;
@@ -144,7 +145,12 @@
}
repeat:
- token = yylex1();
+ if (next_token != 0) {
+ token = next_token;
+ next_token = 0;
+ }
+ else
+ token = yylex1();
if (token == 0)
return 0;
@@ -425,7 +431,7 @@
{
/* Put back the token we just read so's we can find it again
after registering the expression. */
- unput(token);
+ next_token = token;
lexstate = ST_NORMAL;
token = EXPRESSION_PHRASE;
|