39 lines
1.0 KiB
Diff
39 lines
1.0 KiB
Diff
|
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);
|
||
|
}
|
||
|
. {
|