You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/09/01 22:17:12 UTC
[lucy-commits] [24/24] git commit: refs/heads/cfish-string-prep1 - Eliminate
Str_Cat_Char in SnowballStopFilter
Eliminate Str_Cat_Char in SnowballStopFilter
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/ab8d0669
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/ab8d0669
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/ab8d0669
Branch: refs/heads/cfish-string-prep1
Commit: ab8d0669a449bf74ead1c639785ace87d614e304
Parents: 31ae352
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun Sep 1 19:26:12 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun Sep 1 22:05:03 2013 +0200
----------------------------------------------------------------------
core/Lucy/Analysis/SnowballStopFilter.c | 34 +++++++++++++---------------
1 file changed, 16 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/ab8d0669/core/Lucy/Analysis/SnowballStopFilter.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Analysis/SnowballStopFilter.c b/core/Lucy/Analysis/SnowballStopFilter.c
index c6ffb97..323c108 100644
--- a/core/Lucy/Analysis/SnowballStopFilter.c
+++ b/core/Lucy/Analysis/SnowballStopFilter.c
@@ -119,25 +119,24 @@ SnowStop_Load_IMP(SnowballStopFilter *self, Obj *dump) {
Hash*
SnowStop_gen_stoplist(const String *language) {
- String *lang = Str_new(3);
- Str_Cat_Char(lang, tolower(Str_Code_Point_At(language, 0)));
- Str_Cat_Char(lang, tolower(Str_Code_Point_At(language, 1)));
+ char lang[2];
+ lang[0] = tolower(Str_Code_Point_At(language, 0));
+ lang[1] = tolower(Str_Code_Point_At(language, 1));
const uint8_t **words = NULL;
- if (Str_Equals_Str(lang, "da", 2)) { words = SnowStop_snow_da; }
- else if (Str_Equals_Str(lang, "de", 2)) { words = SnowStop_snow_de; }
- else if (Str_Equals_Str(lang, "en", 2)) { words = SnowStop_snow_en; }
- else if (Str_Equals_Str(lang, "es", 2)) { words = SnowStop_snow_es; }
- else if (Str_Equals_Str(lang, "fi", 2)) { words = SnowStop_snow_fi; }
- else if (Str_Equals_Str(lang, "fr", 2)) { words = SnowStop_snow_fr; }
- else if (Str_Equals_Str(lang, "hu", 2)) { words = SnowStop_snow_hu; }
- else if (Str_Equals_Str(lang, "it", 2)) { words = SnowStop_snow_it; }
- else if (Str_Equals_Str(lang, "nl", 2)) { words = SnowStop_snow_nl; }
- else if (Str_Equals_Str(lang, "no", 2)) { words = SnowStop_snow_no; }
- else if (Str_Equals_Str(lang, "pt", 2)) { words = SnowStop_snow_pt; }
- else if (Str_Equals_Str(lang, "ru", 2)) { words = SnowStop_snow_ru; }
- else if (Str_Equals_Str(lang, "sv", 2)) { words = SnowStop_snow_sv; }
+ if (memcmp(lang, "da", 2) == 0) { words = SnowStop_snow_da; }
+ else if (memcmp(lang, "de", 2) == 0) { words = SnowStop_snow_de; }
+ else if (memcmp(lang, "en", 2) == 0) { words = SnowStop_snow_en; }
+ else if (memcmp(lang, "es", 2) == 0) { words = SnowStop_snow_es; }
+ else if (memcmp(lang, "fi", 2) == 0) { words = SnowStop_snow_fi; }
+ else if (memcmp(lang, "fr", 2) == 0) { words = SnowStop_snow_fr; }
+ else if (memcmp(lang, "hu", 2) == 0) { words = SnowStop_snow_hu; }
+ else if (memcmp(lang, "it", 2) == 0) { words = SnowStop_snow_it; }
+ else if (memcmp(lang, "nl", 2) == 0) { words = SnowStop_snow_nl; }
+ else if (memcmp(lang, "no", 2) == 0) { words = SnowStop_snow_no; }
+ else if (memcmp(lang, "pt", 2) == 0) { words = SnowStop_snow_pt; }
+ else if (memcmp(lang, "ru", 2) == 0) { words = SnowStop_snow_ru; }
+ else if (memcmp(lang, "sv", 2) == 0) { words = SnowStop_snow_sv; }
else {
- DECREF(lang);
return NULL;
}
size_t num_stopwords = 0;
@@ -149,7 +148,6 @@ SnowStop_gen_stoplist(const String *language) {
NoCloneHash_Store(stoplist, (Obj*)stop, (Obj*)Str_newf(""));
DECREF(stop);
}
- DECREF(lang);
return (Hash*)stoplist;
}