diff --git a/src/address_parser.c b/src/address_parser.c index bd825ff5..d499b328 100644 --- a/src/address_parser.c +++ b/src/address_parser.c @@ -1664,6 +1664,7 @@ address_parser_response_t *address_parser_parse(char *address, char *language, c for (size_t i = 0; i < tokens->n; i++) { token_t token = tokens->a[i]; if (ADDRESS_PARSER_IS_SEPARATOR(token.type)) { + uint32_array_pop(context->separators); uint32_array_push(context->separators, ADDRESS_SEPARATOR_FIELD_INTERNAL); continue; } else if (ADDRESS_PARSER_IS_IGNORABLE(token.type)) { diff --git a/src/address_parser_io.c b/src/address_parser_io.c index ca92f021..494fd5bd 100644 --- a/src/address_parser_io.c +++ b/src/address_parser_io.c @@ -136,6 +136,7 @@ bool address_parser_data_set_tokenize_line(address_parser_data_set_t *self, char if (token.len == expected_len) { if (ADDRESS_PARSER_IS_SEPARATOR(token.type)) { + uint32_array_pop(separators); uint32_array_push(separators, ADDRESS_SEPARATOR_FIELD_INTERNAL); continue; } else if (ADDRESS_PARSER_IS_IGNORABLE(token.type)) {