changeset 18564:92ee245b1406

lib-fts: Assume that fts_language.name is always lowercased and has two letters. Anything else just unnecessarily complicates the code.
author Timo Sirainen <tss@iki.fi>
date Sat, 09 May 2015 12:04:56 +0300
parents e1d2702eea84
children adf9eb277499
files src/lib-fts/fts-filter-stemmer-snowball.c src/lib-fts/fts-filter-stopwords.c src/lib-fts/fts-language.h src/lib-fts/test-fts-filter.c
diffstat 4 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 12:04:56 2015 +0300
@@ -19,8 +19,7 @@
 static bool
 fts_filter_stemmer_snowball_supports(const struct fts_language *lang)
 {
-	struct sb_stemmer  *stemmer = sb_stemmer_new(t_str_lcase(lang->name),
-	                                             NULL);
+	struct sb_stemmer *stemmer = sb_stemmer_new(lang->name, NULL);
 	if (stemmer != NULL) {
 		sb_stemmer_delete(stemmer);
 		return TRUE;
@@ -59,7 +58,7 @@
 	sp->pool = pp;
 	sp->filter = *fts_filter_stemmer_snowball;
 	sp->lang = p_malloc(sp->pool, sizeof(struct fts_language));
-	sp->lang->name = str_lcase(p_strdup(sp->pool, lang->name));
+	sp->lang->name = p_strdup(sp->pool, lang->name);
 	*filter_r = &sp->filter;
 	return 0;
 }
--- a/src/lib-fts/fts-filter-stopwords.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-filter-stopwords.c	Sat May 09 12:04:56 2015 +0300
@@ -107,7 +107,7 @@
 	sp->filter = *fts_filter_stopwords;
 	sp->pool = pp;
 	sp->lang = p_malloc(sp->pool, sizeof(struct fts_language));
-	sp->lang->name = str_lcase(p_strdup(sp->pool, lang->name));
+	sp->lang->name = p_strdup(sp->pool, lang->name);
 	if (dir != NULL)
 		sp->stopwords_dir = p_strdup(pp, dir);
 	else
--- a/src/lib-fts/fts-language.h	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-language.h	Sat May 09 12:04:56 2015 +0300
@@ -13,6 +13,7 @@
 };
 
 struct fts_language {
+	/* Two-letter language name lowercased, e.g. "en" */
 	const char *name;
 };
 ARRAY_DEFINE_TYPE(fts_language, const struct fts_language *);
--- a/src/lib-fts/test-fts-filter.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/test-fts-filter.c	Sat May 09 12:04:56 2015 +0300
@@ -186,7 +186,7 @@
 	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
-	struct fts_language language = { .name = "EN" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",
@@ -226,7 +226,7 @@
 	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
-	struct fts_language language = { .name = "fRench" };
+	struct fts_language language = { .name = "fr" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"Tous", "les", "\xC3\xAAtres", "humains", "naissent",
@@ -262,7 +262,7 @@
 	struct fts_filter *stemmer;
 	struct fts_filter *filter;
 	const char *error;
-	struct fts_language language = { .name = "eN" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",
@@ -486,7 +486,7 @@
 	const char * const id_settings[] =
 		//{"id", "Any-Lower; NFKD; [: Nonspacing Mark :] Remove; NFC", NULL};
 		{"id", "Lower", NULL};
-	struct fts_language language = { .name = "En" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",