From 0a9e92f11f73882035d17d0c8cfffe3543cefcf2 Mon Sep 17 00:00:00 2001 From: Al Date: Wed, 22 Jul 2015 17:21:09 -0400 Subject: [PATCH] [expansion] Adding both key (for membership tests) and language-prefixed key to address dictionary --- src/address_dictionary_builder.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/address_dictionary_builder.c b/src/address_dictionary_builder.c index 9a351687..ad42a79d 100644 --- a/src/address_dictionary_builder.c +++ b/src/address_dictionary_builder.c @@ -58,6 +58,15 @@ int main(int argc, char **argv) { canonical = canonical_strings[expansion_rule.canonical_index]; } + // Add the phrase itself to the base namespace for existence checks + + if (!address_dictionary_add_expansion(expansion_rule.phrase, canonical, language, dictionary_id, address_components)) { + log_error("Could not add expansion {%s}\n", expansion_rule.phrase); + exit(EXIT_FAILURE); + } + + // Add phrase namespaced by language for language-specific matching + char_array_clear(key); char_array_cat(key, language); char_array_cat(key, NAMESPACE_SEPARATOR_CHAR); @@ -65,10 +74,9 @@ int main(int argc, char **argv) { char *token = char_array_get_string(key); if (!address_dictionary_add_expansion(token, canonical, language, dictionary_id, address_components)) { - log_error("Could not add expansion {%s, %s}\n", language, expansion_rule.phrase); + log_error("Could not add language expansion {%s, %s}\n", language, expansion_rule.phrase); exit(EXIT_FAILURE); } - } }