From: Peter Verthez Date: Wed, 30 Oct 2002 18:05:33 +0000 (+0000) Subject: Fix for line numbering bug (bug 613480). X-Git-Url: https://git.dlugolecki.net.pl/?a=commitdiff_plain;h=a6b1646d8fc8234b198d47c045a5a756a916d052;p=gedcom-parse.git Fix for line numbering bug (bug 613480). --- diff --git a/gedcom/gedcom_lex_common.c b/gedcom/gedcom_lex_common.c index efc4bf9..753df11 100644 --- a/gedcom/gedcom_lex_common.c +++ b/gedcom/gedcom_lex_common.c @@ -164,6 +164,7 @@ static int dummy_conv = 0; gedcom_lval.tag.string = TO_INTERNAL(yytext, tag_buf); \ gedcom_lval.tag.value = TAG_##THETAG; \ BEGIN(NORMAL); \ + line_no++; \ return TAG_##THETAG; \ } @@ -260,12 +261,14 @@ static int dummy_conv = 0; #define ACTION_ALPHANUM \ { if (strlen(yytext) > MAXGEDCTAGLEN * encoding_width) { \ error_tag_too_long(yytext); \ + line_no++; \ return BADTOKEN; \ } \ CHECK_LINE_LEN; \ gedcom_lval.tag.string = TO_INTERNAL(yytext, tag_buf); \ gedcom_lval.tag.value = USERTAG; \ BEGIN(NORMAL); \ + line_no++; \ return USERTAG; \ } @@ -327,7 +330,6 @@ static int dummy_conv = 0; #define ACTION_TERMINATOR \ { CHECK_LINE_LEN; \ INIT_LINE_LEN; \ - line_no++; \ BEGIN(INITIAL); \ } diff --git a/gedcom/multilex.c b/gedcom/multilex.c index 175a7be..5b0aa4e 100644 --- a/gedcom/multilex.c +++ b/gedcom/multilex.c @@ -171,7 +171,7 @@ int gedcom_parse_file(const char* file_name) enc = determine_encoding(file); if (lexer_init(enc, file)) { - line_no = 1; + line_no = 0; make_xref_table(); result = gedcom_parse(); line_no = 0;