internal char ScanHex(int c)
{
int i;
int d;
i = 0;
if (CharsRight() >= c)
{
for (; c > 0 && ((d = HexDigit(MoveRightGetChar())) >= 0); c -= 1)
{
i *= 0x10;
i += d;
}
}
if (c > 0)
throw MakeException(SR.TooFewHex);
return (char)i;
}