[api] Separating parser setup/teardown into two separate methods

This commit is contained in:
Al
2015-12-14 18:15:57 -05:00
parent 0f52f97621
commit 406f9c533d
3 changed files with 12 additions and 6 deletions

View File

@@ -44,7 +44,7 @@ int main(int argc, char **argv) {
address_parser_dir = argv[1]; address_parser_dir = argv[1];
} }
if (!libpostal_setup()) { if (!libpostal_setup() || !libpostal_setup_parser()) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@@ -125,7 +125,6 @@ next_input:
free(input); free(input);
} }
geodb_module_teardown(); libpostal_teardown();
address_dictionary_module_teardown(); libpostal_teardown_parser();
address_parser_module_teardown();
} }

View File

@@ -854,6 +854,10 @@ bool libpostal_setup(void) {
return false; return false;
} }
return true;
}
bool libpostal_setup_parser(void) {
if (!geodb_module_setup(NULL)) { if (!geodb_module_setup(NULL)) {
log_error("Error loading geodb module\n"); log_error("Error loading geodb module\n");
return false; return false;
@@ -868,14 +872,14 @@ bool libpostal_setup(void) {
} }
void libpostal_teardown(void) { void libpostal_teardown(void) {
transliteration_module_teardown(); transliteration_module_teardown();
numex_module_teardown(); numex_module_teardown();
address_dictionary_module_teardown(); address_dictionary_module_teardown();
}
void libpostal_teardown_parser(void) {
geodb_module_teardown(); geodb_module_teardown();
address_parser_module_teardown(); address_parser_module_teardown();
} }

View File

@@ -115,6 +115,9 @@ address_parser_response_t *parse_address(char *address, address_parser_options_t
bool libpostal_setup(void); bool libpostal_setup(void);
void libpostal_teardown(void); void libpostal_teardown(void);
bool libpostal_setup_parser(void);
void libpostal_teardown_parser(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif