]> git.ipfire.org Git - pakfire.git/commitdiff
parser: Use yyless(0) instead of unput(*yytext)
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Feb 2021 11:39:18 +0000 (11:39 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Feb 2021 11:39:18 +0000 (11:39 +0000)
unput fails for the first character in the body that is being scanned
and yyless is more efficient than unput, too.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/parser/scanner.l

index 5b3c347f2e80bc5b91ebf2354c5a017061a97f5e..b33fbe26f7d17c7718ee763d8b57f3d2e3c1d90e 100644 (file)
@@ -23,9 +23,6 @@
 %option stack noyy_top_state
 %option warn
 
-/* Do not let unput() trash yytext */
-%array
-
 /* %option verbose */
 %option debug
 
@@ -152,7 +149,7 @@ key                                         ({letter}|{underscore})(({letter}|{digit}|{underscore})*({letter}|{digi
                                                        return T_EOL;
                                                }
 <READLINES>.                   {
-                                                       unput(*yytext);
+                                                       yyless(0);
 
                                                        if (!readline_indent) {
                                                                readline_indent = current_indent;
@@ -173,7 +170,7 @@ key                                         ({letter}|{underscore})(({letter}|{digit}|{underscore})*({letter}|{digi
 <INDENT>\n                             { current_indent = 0; }
 <INDENT>.                              {
                                                        // Put the read character back for the next round
-                                                       unput(*yytext);
+                                                       yyless(0);
 
                                                        // --> - More indentation?
                                                        if (current_indent > indent_level) {