diff options
author | Jan Maria Matejka <mq@ucw.cz> | 2018-09-11 16:55:41 +0200 |
---|---|---|
committer | Jan Maria Matejka <mq@ucw.cz> | 2018-09-11 16:58:09 +0200 |
commit | afa14f1868f2c753efdc81ce8e2c2d44e6bdd80e (patch) | |
tree | 68c418466255db01d1513ad341ccccf384981196 /conf/cf-lex.l | |
parent | b1f6c439f55233338a5f7cca5070c70618fe7f1d (diff) |
Conf: Show the line:char position where the syntax error happens
Diffstat (limited to 'conf/cf-lex.l')
-rw-r--r-- | conf/cf-lex.l | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/conf/cf-lex.l b/conf/cf-lex.l index 66be3811..6d534c19 100644 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@ -100,6 +100,7 @@ static struct include_file_stack *ifs_head; #define YY_INPUT(buf,result,max) result = cf_read_hook(buf, max, ifs->fd); #define YY_NO_UNPUT #define YY_FATAL_ERROR(msg) cf_error(msg) +#define YY_USER_ACTION ifs->chno += yyleng; ifs->toklen = yyleng; static void cf_include(char *arg, int alen); static int check_eof(void); @@ -237,7 +238,7 @@ else: { {WHITE}+ -\n ifs->lino++; +\n ifs->lino++; ifs->chno = 0; # BEGIN(COMMENT); @@ -247,13 +248,14 @@ else: { <COMMENT>\n { ifs->lino++; + ifs->chno = 0; BEGIN(INITIAL); } <COMMENT>. <CCOMM>\*\/ BEGIN(INITIAL); -<CCOMM>\n ifs->lino++; +<CCOMM>\n ifs->lino++; ifs->chno = 0; <CCOMM>\/\* cf_error("Comment nesting not supported"); <CCOMM><<EOF>> cf_error("Unterminated comment"); <CCOMM>. |