Adapt "tick" variables for -Wconversion.

Array indexes, segment numbers, etc.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/679ced9c
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/679ced9c
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/679ced9c

Branch: refs/heads/master
Commit: 679ced9ce848c8d6bfaeecd710d143c6cb398ff0
Parents: f37309a
Author: Marvin Humphrey <[email protected]>
Authored: Thu May 5 18:56:16 2016 -0700
Committer: Marvin Humphrey <[email protected]>
Committed: Fri May 6 18:28:21 2016 -0700

----------------------------------------------------------------------
 core/Lucy/Index/BackgroundMerger.c | 2 +-
 core/Lucy/Index/LexiconReader.c    | 2 +-
 core/Lucy/Index/PolyReader.c       | 9 ++++++---
 core/Lucy/Index/Segment.c          | 5 ++++-
 core/Lucy/Search/SeriesMatcher.c   | 2 +-
 5 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/679ced9c/core/Lucy/Index/BackgroundMerger.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/BackgroundMerger.c 
b/core/Lucy/Index/BackgroundMerger.c
index 14ffe1d..c729bda 100644
--- a/core/Lucy/Index/BackgroundMerger.c
+++ b/core/Lucy/Index/BackgroundMerger.c
@@ -314,7 +314,7 @@ S_merge_updated_deletions(BackgroundMerger *self) {
                                                new_segment, merge_polyreader);
         DeletionsWriter *del_writer = SegWriter_Get_Del_Writer(seg_writer);
         int64_t  merge_seg_num = Seg_Get_Number(ivars->segment);
-        uint32_t seg_tick      = INT32_MAX;
+        size_t   seg_tick      = INT32_MAX;
         int32_t  offset        = INT32_MAX;
 
         SegWriter_Prep_Seg_Dir(seg_writer);

http://git-wip-us.apache.org/repos/asf/lucy/blob/679ced9c/core/Lucy/Index/LexiconReader.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/LexiconReader.c b/core/Lucy/Index/LexiconReader.c
index db0140a..60949aa 100644
--- a/core/Lucy/Index/LexiconReader.c
+++ b/core/Lucy/Index/LexiconReader.c
@@ -169,7 +169,7 @@ DefLexReader_init(DefaultLexiconReader *self, Schema 
*schema, Folder *folder,
     // Build an array of SegLexicon objects.
     ivars->lexicons = Vec_new(Schema_Num_Fields(schema));
     for (uint32_t i = 1, max = Schema_Num_Fields(schema) + 1; i < max; i++) {
-        String *field = Seg_Field_Name(segment, i);
+        String *field = Seg_Field_Name(segment, (int32_t)i);
         if (field && S_has_data(schema, folder, segment, field)) {
             SegLexicon *lexicon = SegLex_new(schema, folder, segment, field);
             Vec_Store(ivars->lexicons, i, (Obj*)lexicon);

http://git-wip-us.apache.org/repos/asf/lucy/blob/679ced9c/core/Lucy/Index/PolyReader.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/PolyReader.c b/core/Lucy/Index/PolyReader.c
index 4febdeb..63d23b5 100644
--- a/core/Lucy/Index/PolyReader.c
+++ b/core/Lucy/Index/PolyReader.c
@@ -277,7 +277,7 @@ S_try_open_elements(void *context) {
 
         // Create a Segment for each segmeta.
         if (Seg_valid_seg_name(entry)) {
-            int64_t seg_num = IxFileNames_extract_gen(entry);
+            int64_t seg_num = (int64_t)IxFileNames_extract_gen(entry);
             Segment *segment = Seg_new(seg_num);
 
             // Bail if reading the file fails (probably because it's been
@@ -308,7 +308,7 @@ S_try_open_elements(void *context) {
     seg_context.result   = NULL;
     args->seg_readers = Vec_new(num_segs);
     Err *error = NULL;
-    for (uint32_t seg_tick = 0; seg_tick < num_segs; seg_tick++) {
+    for (int32_t seg_tick = 0; seg_tick < (int32_t)num_segs; seg_tick++) {
         seg_context.seg_tick = seg_tick;
         error = Err_trap(S_try_open_segreader, &seg_context);
         if (error) {
@@ -584,7 +584,10 @@ PolyReader_sub_tick(I32Array *offsets, int32_t doc_id) {
         }
     }
 
-    return hi;
+    if (hi < 0) { // Paranoid, but easier than proving correctness.
+        THROW(ERR, "Internal error calculating sub-tick: %i32", hi);
+    }
+    return (uint32_t)hi;
 }
 
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/679ced9c/core/Lucy/Index/Segment.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Index/Segment.c b/core/Lucy/Index/Segment.c
index 0a77eee..8507d4d 100644
--- a/core/Lucy/Index/Segment.c
+++ b/core/Lucy/Index/Segment.c
@@ -60,7 +60,10 @@ Seg_init(Segment *self, int64_t number) {
 String*
 Seg_num_to_name(int64_t number) {
     char base36[StrHelp_MAX_BASE36_BYTES];
-    StrHelp_to_base36(number, &base36);
+    if (number < 0) {
+        THROW(ERR, "Arg can't be negative: %i64", number);
+    }
+    StrHelp_to_base36((uint64_t)number, &base36);
     return Str_newf("seg_%s", &base36);
 }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/679ced9c/core/Lucy/Search/SeriesMatcher.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Search/SeriesMatcher.c b/core/Lucy/Search/SeriesMatcher.c
index 3774468..18fc015 100644
--- a/core/Lucy/Search/SeriesMatcher.c
+++ b/core/Lucy/Search/SeriesMatcher.c
@@ -73,7 +73,7 @@ SeriesMatcher_Advance_IMP(SeriesMatcher *self, int32_t 
target) {
                       ? INT32_MAX
                       : (int32_t)I32Arr_Get(ivars->offsets, 
(size_t)(ivars->tick + 1));
                 ivars->current_matcher = (Matcher*)Vec_Fetch(ivars->matchers,
-                                                           ivars->tick);
+                                                             
(size_t)ivars->tick);
                 ivars->current_offset = ivars->next_offset;
                 ivars->next_offset = next_offset;
                 ivars->doc_id = next_offset - 1;

Reply via email to