You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
diff -up kbd-1.15.5/src/loadkeys.analyze.l.orig kbd-1.15.5/src/loadkeys.analyze.l |
|
--- kbd-1.15.5/src/loadkeys.analyze.l.orig 2013-01-21 11:22:51.374582275 +0100 |
|
+++ kbd-1.15.5/src/loadkeys.analyze.l 2013-01-21 11:25:29.278331267 +0100 |
|
@@ -307,8 +307,10 @@ To to|To|TO |
|
char *s = xstrndup(yytext+1, strlen(yytext)-2); |
|
/* use static pathname to store *s ? */ |
|
open_include(s); |
|
- yy_pop_state(); |
|
- state_ptr--; |
|
+ while (state_ptr > 0) { |
|
+ yy_pop_state(); |
|
+ state_ptr--; |
|
+ } |
|
} |
|
<INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} { |
|
yyerror(_("expected filename between quotes")); |
|
@@ -323,7 +325,7 @@ To to|To|TO |
|
} |
|
{Eol} { |
|
line_nr++; |
|
- if (state_ptr > 0) { |
|
+ while (state_ptr > 0) { |
|
yy_pop_state(); |
|
state_ptr--; |
|
} |
|
@@ -428,8 +430,10 @@ To to|To|TO |
|
} |
|
<STR>\" { |
|
*p = '\0'; |
|
- yy_pop_state(); |
|
- state_ptr--; |
|
+ while (state_ptr > 0) { |
|
+ yy_pop_state(); |
|
+ state_ptr--; |
|
+ } |
|
return(STRLITERAL); |
|
} |
|
. {
|
|
|