Adapt for String size_t APIs. Adapt for String methods which either return size_t or accept size_t parameters.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/90d4a7d6 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/90d4a7d6 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/90d4a7d6 Branch: refs/heads/master Commit: 90d4a7d6d4e310d9d8c0568b76c4dba246dad01f Parents: f57736f Author: Marvin Humphrey <[email protected]> Authored: Mon Apr 25 15:44:05 2016 -0700 Committer: Marvin Humphrey <[email protected]> Committed: Mon Apr 25 15:44:05 2016 -0700 ---------------------------------------------------------------------- core/Lucy/Analysis/SnowballStemmer.c | 12 ++++++++++-- core/Lucy/Analysis/SnowballStopFilter.c | 12 ++++++++++-- core/Lucy/Highlight/Highlighter.c | 2 +- core/Lucy/Index/SortFieldWriter.c | 2 +- core/Lucy/Test/Analysis/TestNormalizer.c | 2 +- 5 files changed, 23 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/90d4a7d6/core/Lucy/Analysis/SnowballStemmer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Analysis/SnowballStemmer.c b/core/Lucy/Analysis/SnowballStemmer.c index dc5fe91..982e4c1 100644 --- a/core/Lucy/Analysis/SnowballStemmer.c +++ b/core/Lucy/Analysis/SnowballStemmer.c @@ -39,8 +39,16 @@ SnowStemmer_init(SnowballStemmer *self, String *language) { ivars->language = Str_Clone(language); // Get a Snowball stemmer. Be case-insensitive. - lang_buf[0] = tolower(Str_Code_Point_At(language, 0)); - lang_buf[1] = tolower(Str_Code_Point_At(language, 1)); + int32_t first_letter = Str_Code_Point_At(language, 0); + int32_t second_letter = Str_Code_Point_At(language, 1); + if (first_letter > 127 || first_letter < 0 + || second_letter > 127 || second_letter < 0 + ) { + first_letter = 0; + second_letter = 0; + } + lang_buf[0] = (char)tolower((int)first_letter); + lang_buf[1] = (char)tolower((int)second_letter); lang_buf[2] = '\0'; ivars->snowstemmer = sb_stemmer_new(lang_buf, "UTF_8"); if (!ivars->snowstemmer) { http://git-wip-us.apache.org/repos/asf/lucy/blob/90d4a7d6/core/Lucy/Analysis/SnowballStopFilter.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Analysis/SnowballStopFilter.c b/core/Lucy/Analysis/SnowballStopFilter.c index 80bff45..1767f06 100644 --- a/core/Lucy/Analysis/SnowballStopFilter.c +++ b/core/Lucy/Analysis/SnowballStopFilter.c @@ -121,8 +121,16 @@ SnowStop_Load_IMP(SnowballStopFilter *self, Obj *dump) { Hash* SnowStop_gen_stoplist(String *language) { char lang[2]; - lang[0] = tolower(Str_Code_Point_At(language, 0)); - lang[1] = tolower(Str_Code_Point_At(language, 1)); + int32_t first_letter = Str_Code_Point_At(language, 0); + int32_t second_letter = Str_Code_Point_At(language, 1); + if (first_letter > 127 || first_letter < 0 + || second_letter > 127 || second_letter < 0 + ) { + first_letter = 0; + second_letter = 0; + } + lang[0] = (char)tolower((int)first_letter); + lang[1] = (char)tolower((int)second_letter); const uint8_t **words = NULL; if (memcmp(lang, "da", 2) == 0) { words = SnowStop_snow_da; } else if (memcmp(lang, "de", 2) == 0) { words = SnowStop_snow_de; } http://git-wip-us.apache.org/repos/asf/lucy/blob/90d4a7d6/core/Lucy/Highlight/Highlighter.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Highlight/Highlighter.c b/core/Lucy/Highlight/Highlighter.c index edc0db5..1ce1fd9 100644 --- a/core/Lucy/Highlight/Highlighter.c +++ b/core/Lucy/Highlight/Highlighter.c @@ -475,7 +475,7 @@ Highlighter_Highlight_Excerpt_IMP(Highlighter *self, Vector *spans, StringIterator *temp = Str_Top(raw_excerpt); CharBuf *buf = CB_new(Str_Get_Size(raw_excerpt) + 32); CharBuf *encode_buf = NULL; - int32_t raw_excerpt_end = top + Str_Length(raw_excerpt); + int32_t raw_excerpt_end = top + (int32_t)Str_Length(raw_excerpt); for (size_t i = 0, max = Vec_Get_Size(spans); i < max; i++) { Span *span = (Span*)Vec_Fetch(spans, i); http://git-wip-us.apache.org/repos/asf/lucy/blob/90d4a7d6/core/Lucy/Index/SortFieldWriter.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Index/SortFieldWriter.c b/core/Lucy/Index/SortFieldWriter.c index 72cc599..0f57fe7 100644 --- a/core/Lucy/Index/SortFieldWriter.c +++ b/core/Lucy/Index/SortFieldWriter.c @@ -177,7 +177,7 @@ SortFieldWriter_Add_IMP(SortFieldWriter *self, int32_t doc_id, Obj *value) { Counter *counter = ivars->counter; Counter_Add(counter, ivars->mem_per_entry); if (ivars->prim_id == FType_TEXT) { - int64_t size = Str_Get_Size((String*)value) + 1; + int64_t size = (int64_t)Str_Get_Size((String*)value) + 1; size = SI_increase_to_word_multiple(size); Counter_Add(counter, size); } http://git-wip-us.apache.org/repos/asf/lucy/blob/90d4a7d6/core/Lucy/Test/Analysis/TestNormalizer.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Test/Analysis/TestNormalizer.c b/core/Lucy/Test/Analysis/TestNormalizer.c index d6028dc..2323c2e 100644 --- a/core/Lucy/Test/Analysis/TestNormalizer.c +++ b/core/Lucy/Test/Analysis/TestNormalizer.c @@ -133,7 +133,7 @@ test_utf8proc_normalization(TestBatchRunner *runner) { // Normalize once. uint8_t *normalized; int32_t check = utf8proc_map((const uint8_t*)Str_Get_Ptr8(source), - Str_Get_Size(source), + (ssize_t)Str_Get_Size(source), &normalized, UTF8PROC_STABLE | UTF8PROC_COMPOSE |
