dovecot-2.2: lib-fts: Removed explicit no_parent setting from ft...

dovecot at dovecot.org dovecot at dovecot.org
Sat May 9 09:50:06 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/7c1fe66e8855
changeset: 18569:7c1fe66e8855
user:      Timo Sirainen <tss at iki.fi>
date:      Sat May 09 12:48:13 2015 +0300
description:
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.

diffstat:

 src/lib-fts/fts-tokenizer-address.c |  13 ++++---------
 src/lib-fts/test-fts-tokenizer.c    |   9 +++------
 2 files changed, 7 insertions(+), 15 deletions(-)

diffs (117 lines):

diff -r f4b2aa500cde -r 7c1fe66e8855 src/lib-fts/fts-tokenizer-address.c
--- 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);
diff -r f4b2aa500cde -r 7c1fe66e8855 src/lib-fts/test-fts-tokenizer.c
--- 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 at example.com", "bar at example.org",
 		"foo at domain", "foo at domain", "bar at 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 at example.com", "bar at example.org",
 		"foo at 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 ?


More information about the dovecot-cvs mailing list