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.

39 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);
}
. {