X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fgedcom_date.lex;h=2350aca58d531f34603bb3991fa03e6d77befbba;hb=6103dd898c4de86c68891cc0222543988a2caab7;hp=bba60ef5f4f15f36bca44e3bc025dd2f6a74a579;hpb=40e4118ee4f9f8e5ed89e61dac21b6d6a43b1135;p=gedcom-parse.git diff --git a/gedcom/gedcom_date.lex b/gedcom/gedcom_date.lex index bba60ef..2350aca 100644 --- a/gedcom/gedcom_date.lex +++ b/gedcom/gedcom_date.lex @@ -149,6 +149,7 @@ int get_date_token(const char* str) int get_year_tokens(const char* str, char** year1, char** year2) { int token; + int num_tokens = 0; YY_BUFFER_STATE buffer; token_nr = 0; @@ -164,22 +165,24 @@ int get_year_tokens(const char* str, char** year1, char** year2) case SLASH: { token = yylex(); switch (token) { - case NUMBER: { + case NUMBER: *year2 = buf[token_nr - 1]; - return 2; - } - default: return 0; + num_tokens = 2; break; + default: + num_tokens = 0; } break; } - case 0: return 1; - default: return 0; + case 0: num_tokens = 1; break; + default: num_tokens = 0; } break; } - case 0: return 0; - default: return 0; + case 0: num_tokens = 0; break; + default: num_tokens = 0; } + yy_delete_buffer(buffer); + return num_tokens; } int yywrap()