MCPcopy Create free account
hub / github.com/Illumina/paragraph / decodeUnicodeEscapeSequence

Method decodeUnicodeEscapeSequence

external/jsoncpp/jsoncpp.cpp:937–964  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

935}
936
937bool Reader::decodeUnicodeEscapeSequence(Token& token,
938 Location& current,
939 Location end,
940 unsigned int& ret_unicode) {
941 if (end - current < 4)
942 return addError(
943 "Bad unicode escape sequence in string: four digits expected.",
944 token,
945 current);
946 int unicode = 0;
947 for (int index = 0; index < 4; ++index) {
948 Char c = *current++;
949 unicode *= 16;
950 if (c >= '0' && c <= '9')
951 unicode += c - '0';
952 else if (c >= 'a' && c <= 'f')
953 unicode += c - 'a' + 10;
954 else if (c >= 'A' && c <= 'F')
955 unicode += c - 'A' + 10;
956 else
957 return addError(
958 "Bad unicode escape sequence in string: hexadecimal digit expected.",
959 token,
960 current);
961 }
962 ret_unicode = static_cast<unsigned int>(unicode);
963 return true;
964}
965
966bool
967Reader::addError(const JSONCPP_STRING& message, Token& token, Location extra) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected