Mercurial > dovecot > core-2.2
changeset 18569:7c1fe66e8855
lib-fts: Removed explicit no_parent setting from fts-address-tokenizer
It was used only by unit tests and we can check it without the setting as
well.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 09 May 2015 12:48:13 +0300 |
parents | f4b2aa500cde |
children | ac6ae1b9f5c4 |
files | src/lib-fts/fts-tokenizer-address.c src/lib-fts/test-fts-tokenizer.c |
diffstat | 2 files changed, 7 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-fts/fts-tokenizer-address.c Sat May 09 12:41:59 2015 +0300 +++ b/src/lib-fts/fts-tokenizer-address.c Sat May 09 12:48:13 2015 +0300 @@ -25,7 +25,6 @@ string_t *last_word; string_t *parent_data; /* Copy of input data between tokens. TODO: could be buffer_t maybe */ - bool no_parent; bool search; }; @@ -35,16 +34,13 @@ const char **error_r) { struct email_address_fts_tokenizer *tok; - bool no_parent = FTS_DEFAULT_NO_PARENT; bool search = FTS_DEFAULT_SEARCH; unsigned int i; for (i = 0; settings[i] != NULL; i += 2) { const char *key = settings[i]; - if (strcmp(key, "no_parent") == 0) { - no_parent = TRUE; - }else if (strcmp(key, "search") == 0) { + if (strcmp(key, "search") == 0) { search = TRUE; } else { *error_r = t_strdup_printf("Unknown setting: %s", key); @@ -56,7 +52,6 @@ tok->tokenizer = *fts_tokenizer_email_address; tok->last_word = str_new(default_pool, 128); tok->parent_data = str_new(default_pool, 128); - tok->no_parent = no_parent; tok->search = search; *tokenizer_r = &tok->tokenizer; return 0; @@ -198,7 +193,7 @@ fts_tokenizer_address_update_parent(struct email_address_fts_tokenizer *tok, const unsigned char *data, size_t size) { - if (!tok->no_parent) + if (tok->tokenizer.parent != NULL) str_append_n(tok->parent_data, data, size); } static int @@ -221,7 +216,7 @@ /* end of data, output lingering tokens. first the parents data, then possibly our token, if complete enough */ if (size == 0) { - if (!tok->no_parent && str_len(tok->parent_data) > 0) + if (tok->tokenizer.parent != NULL && str_len(tok->parent_data) > 0) return fts_tokenizer_address_parent_data(tok, token_r); if (tok->state == EMAIL_ADDRESS_PARSER_STATE_DOMAIN && @@ -276,7 +271,7 @@ *skip_r = pos + local_skip; fts_tokenizer_address_update_parent(tok, data+pos, local_skip); - if (!tok->no_parent) + if (tok->tokenizer.parent != NULL) return fts_tokenizer_address_parent_data(tok, token_r); else { return fts_tokenizer_address_current_token(tok, token_r);
--- a/src/lib-fts/test-fts-tokenizer.c Sat May 09 12:41:59 2015 +0300 +++ b/src/lib-fts/test-fts-tokenizer.c Sat May 09 12:48:13 2015 +0300 @@ -275,7 +275,6 @@ "abc@example.com", "bar@example.org", "foo@domain", "foo@domain", "bar@example.org", NULL }; - const char *const settings[] = {"no_parent", "foo", NULL}; struct fts_tokenizer *tok; const char * const *eopp = expected_output; const char *token, *error; @@ -285,7 +284,7 @@ test_begin("fts tokenizer email address only, input one line at a time"); fts_tokenizer_register(fts_tokenizer_email_address); - test_assert(fts_tokenizer_create(fts_tokenizer_email_address, NULL, settings, &tok, &error) == 0); + test_assert(fts_tokenizer_create(fts_tokenizer_email_address, NULL, NULL, &tok, &error) == 0); for (i = 0; i <= N_ELEMENTS(input);) { ret = i < N_ELEMENTS(input) ? @@ -315,7 +314,6 @@ "abc@example.com", "bar@example.org", "foo@domain", NULL }; - const char *const settings[] = {"no_parent", "0", NULL}; struct fts_tokenizer *tok; const char * const *eopp = expected_output; const char *token, *error; @@ -324,7 +322,7 @@ test_begin("fts tokenizer email address only, input one character at a time"); fts_tokenizer_register(fts_tokenizer_email_address); - test_assert(fts_tokenizer_create(fts_tokenizer_email_address, NULL, settings, &tok, &error) == 0); + test_assert(fts_tokenizer_create(fts_tokenizer_email_address, NULL, NULL, &tok, &error) == 0); for (i = 0; i <= sizeof(input)-1; ) { ret = i < sizeof(input)-1 ? @@ -357,14 +355,13 @@ struct fts_tokenizer *tok; const char * const *eopp = expected_output; const char *token, *error; - const char *const settings[] = {"no_parent", "abc", NULL}; unsigned int i, step, step_max = 10; int ret; test_begin("fts tokenizer email address, input random length"); fts_tokenizer_register(fts_tokenizer_email_address); test_assert(fts_tokenizer_create(fts_tokenizer_email_address, NULL, - settings, &tok, &error) == 0); + NULL, &tok, &error) == 0); step = rand() % step_max + 1; for (i = 0; i <= sizeof(input)-1; ) { ret = i < sizeof(input)-1 ?