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;
