diff --git a/include/uuid.h b/include/uuid.h index 6a66006..9634d9e 100644 --- a/include/uuid.h +++ b/include/uuid.h @@ -58,11 +58,11 @@ namespace uuids constexpr inline unsigned char hex2char(TChar const ch) { if (ch >= static_cast('0') && ch <= static_cast('9')) - return ch - static_cast('0'); + return static_cast(ch - static_cast('0')); if (ch >= static_cast('a') && ch <= static_cast('f')) - return 10 + ch - static_cast('a'); + return static_cast(10 + ch - static_cast('a')); if (ch >= static_cast('A') && ch <= static_cast('F')) - return 10 + ch - static_cast('A'); + return static_cast(10 + ch - static_cast('A')); return 0; } @@ -430,7 +430,7 @@ namespace uuids { auto str = detail::to_string_view(in_str); bool firstDigit = true; - int hasBraces = 0; + size_t hasBraces = 0; size_t index = 0; if (str.empty()) @@ -474,7 +474,7 @@ namespace uuids { auto str = detail::to_string_view(in_str); bool firstDigit = true; - int hasBraces = 0; + size_t hasBraces = 0; size_t index = 0; std::array data{ { 0 } }; @@ -497,12 +497,13 @@ namespace uuids if (firstDigit) { - data[index] = detail::hex2char(str[i]) << 4; + data[index] = static_cast(detail::hex2char(str[i]) << 4); firstDigit = false; } else { - data[index++] |= detail::hex2char(str[i]); + data[index] = static_cast(data[index] | detail::hex2char(str[i])); + index++; firstDigit = true; } }