diff --git a/src/c_regex_traits.cpp b/src/c_regex_traits.cpp index 1b1bcdd9..8a815105 100644 --- a/src/c_regex_traits.cpp +++ b/src/c_regex_traits.cpp @@ -514,9 +514,9 @@ void BOOST_REGEX_CALL c_traits_base::do_update_ctype() if(std::isxdigit(i)) class_map[i] |= char_class_xdigit; } - class_map['_'] |= char_class_underscore; - class_map[' '] |= char_class_blank; - class_map['\t'] |= char_class_blank; + class_map[(unsigned char)'_'] |= char_class_underscore; + class_map[(unsigned char)' '] |= char_class_blank; + class_map[(unsigned char)'\t'] |= char_class_blank; for(i = 0; i < map_size; ++i) { lower_case_map[i] = (char)std::tolower(i); diff --git a/src/cpp_regex_traits.cpp b/src/cpp_regex_traits.cpp index 0c89ad24..00b8c4a4 100644 --- a/src/cpp_regex_traits.cpp +++ b/src/cpp_regex_traits.cpp @@ -241,7 +241,7 @@ message_data::message_data(const std::locale& l, const std::string& regex_ #endif for(std::size_t j = 0; j < s.size(); ++j) { - syntax_map[s[j]] = (unsigned char)(i); + syntax_map[(unsigned char)s[j]] = (unsigned char)(i); } }