diff options
Diffstat (limited to 'src/codepoint_iterator.cc')
-rw-r--r-- | src/codepoint_iterator.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/codepoint_iterator.cc b/src/codepoint_iterator.cc index 59cb23b..b96423a 100644 --- a/src/codepoint_iterator.cc +++ b/src/codepoint_iterator.cc @@ -40,8 +40,10 @@ std::ptrdiff_t CodepointIterator::operator-( } char32_t CodepointIterator::operator*() { - std::uint8_t currByte = *(this->iterator_); - char32_t codePoint = 0; + const std::uint8_t currByte( + static_cast<std::uint8_t>(*(this->iterator_)) + ); + char32_t codePoint{}; if ( match(currByte, dtl::CodeUnitType::CONTINUATION) ) { if ( match(currByte, dtl::CodeUnitType::THREE) ) { @@ -94,7 +96,9 @@ char32_t CodepointIterator::operator*() { } CodepointIterator& CodepointIterator::operator++() { - std::uint8_t currByte(*(this->iterator_)); + const std::uint8_t currByte( + static_cast<std::uint8_t>(*(this->iterator_)) + ); std::string::difference_type offset(1); if ( match(currByte, dtl::CodeUnitType::CONTINUATION) ) { |