[fix] expansion array destroy API in libpostal expand program

This commit is contained in:
Al
2017-04-02 23:55:04 -04:00
parent c5e2f89ee9
commit 378a11c88f

View File

@@ -16,30 +16,28 @@
static inline void print_output(char *address, libpostal_normalize_options_t options, bool use_json) { static inline void print_output(char *address, libpostal_normalize_options_t options, bool use_json) {
size_t num_expansions; size_t num_expansions;
char **strings = libpostal_expand_address(address, options, &num_expansions); char **expansions = libpostal_expand_address(address, options, &num_expansions);
char *normalized; char *normalized;
if (!use_json) { if (!use_json) {
for (size_t i = 0; i < num_expansions; i++) { for (size_t i = 0; i < num_expansions; i++) {
normalized = strings[i]; normalized = expansions[i];
printf("%s\n", normalized); printf("%s\n", normalized);
free(normalized);
} }
} else { } else {
printf("{\"expansions\": ["); printf("{\"expansions\": [");
for (size_t i = 0; i < num_expansions; i++) { for (size_t i = 0; i < num_expansions; i++) {
normalized = strings[i]; normalized = expansions[i];
char *json_string = json_encode_string(normalized); char *json_string = json_encode_string(normalized);
printf("%s%s", json_string, i < num_expansions - 1 ? ", ": ""); printf("%s%s", json_string, i < num_expansions - 1 ? ", ": "");
free(normalized);
free(json_string); free(json_string);
} }
printf("]}\n"); printf("]}\n");
} }
free(strings); libpostal_expansion_array_destroy(expansions, num_expansions);
} }