Use isxdigit.

Thanks to Benjamin Kramer for the suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183540 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-06-07 18:05:03 +00:00
parent 814b52710a
commit 149d1a1894

View File

@ -23,14 +23,6 @@ void yaml::ScalarTraits<object::yaml::BinaryRef>::output(
Val.writeAsHex(Out);
}
// Can't find this anywhere else in the codebase (clang has one, but it has
// some baggage). Deduplicate as required.
static bool isHexDigit(uint8_t C) {
return ('0' <= C && C <= '9') ||
('A' <= C && C <= 'F') ||
('a' <= C && C <= 'f');
}
StringRef yaml::ScalarTraits<object::yaml::BinaryRef>::input(
StringRef Scalar, void *, object::yaml::BinaryRef &Val) {
if (Scalar.size() % 2 != 0)
@ -38,7 +30,7 @@ StringRef yaml::ScalarTraits<object::yaml::BinaryRef>::input(
// TODO: Can we improve YAMLIO to permit a more accurate diagnostic here?
// (e.g. a caret pointing to the offending character).
for (unsigned I = 0, N = Scalar.size(); I != N; ++I)
if (!isHexDigit(Scalar[I]))
if (!isxdigit(Scalar[I]))
return "BinaryRef hex string must contain only hex digits.";
Val = object::yaml::BinaryRef(Scalar);
return StringRef();