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 |

Reply via email to