Index: src/string-search.h |
diff --git a/src/string-search.h b/src/string-search.h |
index 1de375018b1d0c9cdd69d2dabceaf077d259f1a7..4412e32ed3d735c61818fa4bcd901f11e94fff0c 100644 |
--- a/src/string-search.h |
+++ b/src/string-search.h |
@@ -334,8 +334,9 @@ int StringSearch<PatternChar, SubjectChar>::BoyerMooreSearch( |
} else if (j < start) { |
// we have matched more than our tables allow us to be smart about. |
// Fall back on BMH shift. |
- index += |
- pattern_length - 1 - CharOccurrence(bad_char_occurence, last_char); |
+ index += pattern_length - 1 |
+ - CharOccurrence(bad_char_occurence, |
+ static_cast<SubjectChar>(last_char)); |
} else { |
int gs_shift = good_suffix_shift[j + 1]; |
int bc_occ = |
@@ -432,7 +433,7 @@ int StringSearch<PatternChar, SubjectChar>::BoyerMooreHorspoolSearch( |
// How bad we are doing without a good-suffix table. |
PatternChar last_char = pattern[pattern_length - 1]; |
int last_char_shift = pattern_length - 1 - |
- CharOccurrence(char_occurrences, last_char); |
+ CharOccurrence(char_occurrences, static_cast<SubjectChar>(last_char)); |
// Perform search |
int index = start_index; // No matches found prior to this index. |
while (index <= subject_length - pattern_length) { |