Merge pull request #52 from sketchylizard/master

Fix compiler warnings for gcc & clang
This commit is contained in:
Marius Bancila 2021-12-24 00:20:03 +02:00 committed by GitHub
commit 4400e13797
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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