discover/grub2: fix incorrect prototype in yyerror
authorJeremy Kerr <jk@ozlabs.org>
Fri, 28 Nov 2014 03:40:05 +0000 (11:40 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Mon, 1 Dec 2014 03:53:23 +0000 (11:53 +0800)
Because we're using two parse-params, we need to add the scanner
argument to yyerror.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
discover/grub2/grub2-lexer.l
discover/grub2/grub2-parser.y

index 7c9fcfe81537459fb40f102c4e9bbb150b2854f7..066af6073baa78012a8dd7d513696adb96eefaa9 100644 (file)
@@ -119,7 +119,8 @@ VARNAME ([[:alpha:]][_[:alnum:]]*|[0-9]|[\?@\*#])
 #.*    ;
 
 .      {
-               yyerror(yyget_extra(yyscanner), "unknown token '%s'\n", yytext);
+               yyerror(yyget_extra(yyscanner), yyscanner,
+                               "unknown token '%s'\n", yytext);
                yyterminate();
        }
 
index 4d351d4c3ebc5039d4021c97ba2c1a533624726d..7f9961b7cf5a40a0c49eab1825ce6d9734dc5c70 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "grub2.h"
 
-void yyerror(struct grub2_parser *parser, const char *fmt, ...);
+void yyerror(struct grub2_parser *parser, void *scanner, const char *fmt, ...);
 %}
 
 %union {
@@ -153,7 +153,7 @@ word:       TOKEN_WORD
        }
 
 %%
-void yyerror(struct grub2_parser *parser, const char *fmt, ...)
+void yyerror(struct grub2_parser *parser, void *scanner, const char *fmt, ...)
 {
        const char *str;
        va_list ap;
@@ -162,8 +162,8 @@ void yyerror(struct grub2_parser *parser, const char *fmt, ...)
        str = talloc_vasprintf(parser, fmt, ap);
        va_end(ap);
 
-       pb_log("parse error: %d('%s'): %s\n", yyget_lineno(parser->scanner),
-                                       yyget_text(parser->scanner), str);
+       pb_log("parse error: %d('%s'): %s\n", yyget_lineno(scanner),
+                                       yyget_text(scanner), str);
 }
 
 struct grub2_statements *create_statements(struct grub2_parser *parser)