From 149c240f4f03ce2f4beae26b9dc8b86db85ddcf8 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 9 Apr 2000 09:20:22 +0000 Subject: [PATCH] count lines correctly. (error_message): print filename in messages git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8152 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/lex.l | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/asn1/lex.l b/lib/asn1/lex.l index 39608727f..fa7b0b91d 100644 --- a/lib/asn1/lex.l +++ b/lib/asn1/lex.l @@ -46,8 +46,13 @@ #endif #include "symbol.h" #include "parse.h" +#include "gen_locl.h" -void error_message(char *, ...); +void error_message(const char *, ...) +#ifdef HAVE___ATTRIBUTE__ +__attribute__ ((format (printf, 1, 2))) +#endif +; static unsigned lineno = 1; @@ -74,11 +79,11 @@ EXTERNAL { return EXTERNAL; } "[" { return *yytext; } "]" { return *yytext; } ::= { return EEQUAL; } ---[^\n]*\n { ; } +--[^\n]*\n { ++lineno; } -?[0-9]+ { yylval.constant = atoi(yytext); return CONSTANT; } [A-Za-z][-A-Za-z0-9_]* { yylval.name = strdup (yytext); return IDENTIFIER; } [ \t] ; -\n { lineno++; } +\n { ++lineno; } \.\. { return DOTDOT; } . { error_message("Ignoring char(%c)\n", *yytext); } %% @@ -92,12 +97,12 @@ yywrap () #endif void -error_message (char *format, ...) +error_message (const char *format, ...) { va_list args; va_start (args, format); - fprintf (stderr, ":%d: ", lineno); + fprintf (stderr, "%s:%d: ", filename(), lineno); vfprintf (stderr, format, args); va_end (args); }