From 406f9c533d2315f05fab8f9b487c197018b9db17 Mon Sep 17 00:00:00 2001 From: Al Date: Mon, 14 Dec 2015 18:15:57 -0500 Subject: [PATCH] [api] Separating parser setup/teardown into two separate methods --- src/address_parser_cli.c | 7 +++---- src/libpostal.c | 8 ++++++-- src/libpostal.h | 3 +++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/address_parser_cli.c b/src/address_parser_cli.c index a1149fdb..75751f1b 100644 --- a/src/address_parser_cli.c +++ b/src/address_parser_cli.c @@ -44,7 +44,7 @@ int main(int argc, char **argv) { address_parser_dir = argv[1]; } - if (!libpostal_setup()) { + if (!libpostal_setup() || !libpostal_setup_parser()) { exit(EXIT_FAILURE); } @@ -125,7 +125,6 @@ next_input: free(input); } - geodb_module_teardown(); - address_dictionary_module_teardown(); - address_parser_module_teardown(); + libpostal_teardown(); + libpostal_teardown_parser(); } diff --git a/src/libpostal.c b/src/libpostal.c index f3931d6f..c4f99a0b 100644 --- a/src/libpostal.c +++ b/src/libpostal.c @@ -854,6 +854,10 @@ bool libpostal_setup(void) { return false; } + return true; +} + +bool libpostal_setup_parser(void) { if (!geodb_module_setup(NULL)) { log_error("Error loading geodb module\n"); return false; @@ -868,14 +872,14 @@ bool libpostal_setup(void) { } void libpostal_teardown(void) { - transliteration_module_teardown(); numex_module_teardown(); address_dictionary_module_teardown(); +} +void libpostal_teardown_parser(void) { geodb_module_teardown(); - address_parser_module_teardown(); } diff --git a/src/libpostal.h b/src/libpostal.h index 1f15d53a..95be1e53 100644 --- a/src/libpostal.h +++ b/src/libpostal.h @@ -115,6 +115,9 @@ address_parser_response_t *parse_address(char *address, address_parser_options_t bool libpostal_setup(void); void libpostal_teardown(void); +bool libpostal_setup_parser(void); +void libpostal_teardown_parser(void); + #ifdef __cplusplus } #endif