Lines Matching refs:Str
81 bool ParseOneDictionaryEntry(const std::string &Str, Unit *U) { in ParseOneDictionaryEntry() argument
83 if (Str.empty()) return false; in ParseOneDictionaryEntry()
84 size_t L = 0, R = Str.size() - 1; // We are parsing the range [L,R]. in ParseOneDictionaryEntry()
86 while (L < R && isspace(Str[L])) L++; in ParseOneDictionaryEntry()
87 while (R > L && isspace(Str[R])) R--; in ParseOneDictionaryEntry()
90 if (Str[R] != '"') return false; in ParseOneDictionaryEntry()
93 while (L < R && Str[L] != '"') L++; in ParseOneDictionaryEntry()
95 assert(Str[L] == '\"'); in ParseOneDictionaryEntry()
99 uint8_t V = (uint8_t)Str[Pos]; in ParseOneDictionaryEntry()
103 if (Pos + 1 <= R && (Str[Pos + 1] == '\\' || Str[Pos + 1] == '"')) { in ParseOneDictionaryEntry()
104 U->push_back(Str[Pos + 1]); in ParseOneDictionaryEntry()
109 if (Pos + 3 <= R && Str[Pos + 1] == 'x' in ParseOneDictionaryEntry()
110 && isxdigit(Str[Pos + 2]) && isxdigit(Str[Pos + 3])) { in ParseOneDictionaryEntry()
112 Hex[2] = Str[Pos + 2]; in ParseOneDictionaryEntry()
113 Hex[3] = Str[Pos + 3]; in ParseOneDictionaryEntry()