diff options
Diffstat (limited to 'modutils/files/lex.l.diff')
-rw-r--r-- | modutils/files/lex.l.diff | 33 |
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; |