From 42207769ef29d3ca2565d428f833269bba500af4 Mon Sep 17 00:00:00 2001 From: Al Date: Sat, 16 Feb 2019 22:27:39 -0500 Subject: [PATCH] [expand] adding a --root flag to the libpostal script for root-only expansion --- src/main.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index 9203c2ac..9f217b72 100644 --- a/src/main.c +++ b/src/main.c @@ -13,10 +13,16 @@ #define LIBPOSTAL_USAGE "Usage: ./libpostal address [...languages] [--json]\n" -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, bool root_expansions) { size_t num_expansions; - char **expansions = libpostal_expand_address(address, options, &num_expansions); + char **expansions; + + if (!root_expansions) { + expansions = libpostal_expand_address(address, options, &num_expansions); + } else { + expansions = libpostal_expand_address_root(address, options, &num_expansions); + } char *normalized; @@ -45,9 +51,9 @@ int main(int argc, char **argv) { char *arg; char *address = NULL; - char *language = NULL; bool use_json = false; + bool root_expansions = false; string_array *languages = NULL; @@ -58,6 +64,8 @@ int main(int argc, char **argv) { exit(EXIT_SUCCESS); } else if (string_equals(arg, "--json")) { use_json = true; + } else if (string_equals(arg, "--root")) { + root_expansions = true; } else if (address == NULL) { address = arg; } else if (!string_starts_with(arg, "-")) { @@ -87,11 +95,11 @@ int main(int argc, char **argv) { if (address == NULL) { char *line; while ((line = file_getline(stdin)) != NULL) { - print_output(line, options, use_json); + print_output(line, options, use_json, root_expansions); free(line); } } else { - print_output(address, options, use_json); + print_output(address, options, use_json, root_expansions); } if (languages != NULL) {