summaryrefslogtreecommitdiff
path: root/modutils/files/lex.l.diff
diff options
context:
space:
mode:
Diffstat (limited to 'modutils/files/lex.l.diff')
-rw-r--r--modutils/files/lex.l.diff33
1 files changed, 33 insertions, 0 deletions
diff --git a/modutils/files/lex.l.diff b/modutils/files/lex.l.diff
index e69de29bb2..65904b6b02 100644
--- a/modutils/files/lex.l.diff
+++ b/modutils/files/lex.l.diff
@@ -0,0 +1,33 @@
+--- modutils-2.4.26.orig/genksyms/lex.l
++++ modutils-2.4.26/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;