conv: Fix taking out of range chars for hex values
This commit is contained in:
parent
918d8f5450
commit
ba5833318b
@ -308,11 +308,11 @@ do
|
||||
{
|
||||
digit = range.front - 'W';
|
||||
}
|
||||
else if (range.front >= 'A')
|
||||
else if (range.front >= 'A' && range.front <= 'Z')
|
||||
{
|
||||
digit = range.front - '7';
|
||||
}
|
||||
else if (range.front >= '0')
|
||||
else if (range.front >= '0' && range.front <= '9')
|
||||
{
|
||||
digit = range.front - '0';
|
||||
}
|
||||
@ -360,6 +360,15 @@ do
|
||||
return n;
|
||||
}
|
||||
|
||||
// ':' is not a hex value
|
||||
@nogc nothrow pure @safe unittest
|
||||
{
|
||||
string colon = ":";
|
||||
auto actual = readIntegral!ubyte(colon, 16);
|
||||
assert(actual == 0);
|
||||
assert(colon.length == 1);
|
||||
}
|
||||
|
||||
// reads ubyte.max
|
||||
@nogc nothrow pure @safe unittest
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user