[parser] storing address_parser_context on the parser struct itself so it doesn't have to be allocated every time

This commit is contained in:
Al
2017-04-04 20:40:55 -04:00
parent 67157fbd98
commit 8742574257
4 changed files with 25 additions and 11 deletions

View File

@@ -1021,18 +1021,14 @@ inline libpostal_address_parser_options_t libpostal_get_address_parser_default_o
}
libpostal_address_parser_response_t *libpostal_parse_address(char *address, libpostal_address_parser_options_t options) {
address_parser_context_t *context = address_parser_context_new();
libpostal_address_parser_response_t *parsed = address_parser_parse(address, options.language, options.country, context);
libpostal_address_parser_response_t *parsed = address_parser_parse(address, options.language, options.country);
if (parsed == NULL) {
log_error("Parser returned NULL\n");
address_parser_context_destroy(context);
libpostal_address_parser_response_destroy(parsed);
return NULL;
}
address_parser_context_destroy(context);
return parsed;
}