[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];
}
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();
}

View File

@@ -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();
}

View File

@@ -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