Mercurial > dovecot > core-2.2
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",