Lines Matching refs:pos

41     size_t pos = 0;  in parse()  local
42 while(pos < data.size()) in parse()
44 eatWhite(data, pos); in parse()
45 if(pos < data.size() && data[pos] == '!') in parse()
51 ++pos; in parse()
54 current.rdn.push_back(parseNameComponent(data, pos)); in parse()
55 eatWhite(data, pos); in parse()
56 if(pos < data.size() && data[pos] == ',') in parse()
58 ++pos; in parse()
60 else if(pos < data.size() && data[pos] == ';') in parse()
62 ++pos; in parse()
67 else if(pos < data.size()) in parse()
69 … throw ParseException(__FILE__, __LINE__, "expected ',' or ';' at `" + data.substr(pos) + "'"); in parse()
84 size_t pos = 0; in parseStrict() local
85 while(pos < data.size()) in parseStrict()
87 results.push_back(parseNameComponent(data, pos)); in parseStrict()
88 eatWhite(data, pos); in parseStrict()
89 if(pos < data.size() && (data[pos] == ',' || data[pos] == ';')) in parseStrict()
91 ++pos; in parseStrict()
93 else if(pos < data.size()) in parseStrict()
95 … throw ParseException(__FILE__, __LINE__, "expected ',' or ';' at `" + data.substr(pos) + "'"); in parseStrict()
128 size_t pos = 1; in unescape() local
129 while(pos < data.size()) in unescape()
131 result += unescapeHex(data, pos); in unescape()
132 pos += 2; in unescape()
137 size_t pos = 0; in unescape() local
138 while(pos < data.size()) in unescape()
140 if(data[pos] != '\\') in unescape()
142 result += data[pos]; in unescape()
143 ++pos; in unescape()
147 ++pos; in unescape()
148 if(pos >= data.size()) in unescape()
152 if(special.find(data[pos]) != string::npos || data[pos] != '\\' || data[pos] != '"') in unescape()
154 result += data[pos]; in unescape()
155 ++pos; in unescape()
159 result += unescapeHex(data, pos); in unescape()
160 pos += 2; in unescape()
188 unescapeHex(const string& data, size_t pos) in unescapeHex() argument
190 assert(pos < data.size()); in unescapeHex()
191 if(pos + 2 >= data.size()) in unescapeHex()
195 return static_cast<char>(hexToInt(data[pos]) * 16 + hexToInt(data[pos + 1])); in unescapeHex()
199 parseNameComponent(const string& data, size_t& pos) in parseNameComponent() argument
201 pair<string, string> final = parseAttributeTypeAndValue(data, pos); in parseNameComponent()
202 while(pos < data.size()) in parseNameComponent()
204 eatWhite(data, pos); in parseNameComponent()
205 if(pos < data.size() && data[pos] == '+') in parseNameComponent()
207 ++pos; in parseNameComponent()
213 pair<string, string> p = parseAttributeTypeAndValue(data, pos); in parseNameComponent()
223 parseAttributeTypeAndValue(const string& data, size_t& pos) in parseAttributeTypeAndValue() argument
226 p.first = parseAttributeType(data, pos); in parseAttributeTypeAndValue()
227 eatWhite(data, pos); in parseAttributeTypeAndValue()
229 if(pos >= data.size()) in parseAttributeTypeAndValue()
233 if(data[pos] != '=') in parseAttributeTypeAndValue()
237 ++pos; in parseAttributeTypeAndValue()
238 p.second = parseAttributeValue(data, pos); in parseAttributeTypeAndValue()
243 parseAttributeType(const string& data, size_t& pos) in parseAttributeType() argument
245 eatWhite(data, pos); in parseAttributeType()
246 if(pos >= data.size()) in parseAttributeType()
271 if(IceUtilInternal::isDigit(data[pos]) || in parseAttributeType()
272 (data.size() - pos >= 4 && (data.substr(pos, 4) == "oid." || data.substr(pos, 4) == "OID."))) in parseAttributeType()
274 if(!IceUtilInternal::isDigit(data[pos])) in parseAttributeType()
276 result += data.substr(pos, 4); in parseAttributeType()
277 pos += 4; in parseAttributeType()
283 while(pos < data.size() && IceUtilInternal::isDigit(data[pos])) in parseAttributeType()
285 result += data[pos]; in parseAttributeType()
286 ++pos; in parseAttributeType()
289 if(pos < data.size() && data[pos] == '.') in parseAttributeType()
291 result += data[pos]; in parseAttributeType()
292 ++pos; in parseAttributeType()
294 if(pos < data.size() && !IceUtilInternal::isDigit(data[pos])) in parseAttributeType()
305 else if(IceUtilInternal::isAlpha(data[pos])) in parseAttributeType()
312 result += data[pos]; in parseAttributeType()
313 ++pos; in parseAttributeType()
315 while(pos < data.size() && in parseAttributeType()
316 … (IceUtilInternal::isAlpha(data[pos]) || IceUtilInternal::isDigit(data[pos]) || data[pos] == '-')) in parseAttributeType()
318 result += data[pos]; in parseAttributeType()
319 ++pos; in parseAttributeType()
330 parseAttributeValue(const string& data, size_t& pos) in parseAttributeValue() argument
332 eatWhite(data, pos); in parseAttributeValue()
334 if(pos >= data.size()) in parseAttributeValue()
343 if(data[pos] == '#') in parseAttributeValue()
345 result += data[pos]; in parseAttributeValue()
346 ++pos; in parseAttributeValue()
349 string h = parseHexPair(data, pos, true); in parseAttributeValue()
362 else if(data[pos] == '"') in parseAttributeValue()
364 result += data[pos]; in parseAttributeValue()
365 ++pos; in parseAttributeValue()
368 if(pos >= data.size()) in parseAttributeValue()
373 if(data[pos] == '"') in parseAttributeValue()
375 result += data[pos]; in parseAttributeValue()
376 ++pos; in parseAttributeValue()
380 else if(data[pos] != '\\') in parseAttributeValue()
382 result += data[pos]; in parseAttributeValue()
383 ++pos; in parseAttributeValue()
388 result += parsePair(data, pos); in parseAttributeValue()
399 while(pos < data.size()) in parseAttributeValue()
401 if(data[pos] == '\\') in parseAttributeValue()
403 result += parsePair(data, pos); in parseAttributeValue()
405 else if(special.find(data[pos]) == string::npos && data[pos] != '"') in parseAttributeValue()
407 result += data[pos]; in parseAttributeValue()
408 ++pos; in parseAttributeValue()
424 parsePair(const string& data, size_t& pos) in parsePair() argument
428 assert(data[pos] == '\\'); in parsePair()
429 result += data[pos]; in parsePair()
430 ++pos; in parsePair()
432 if(pos >= data.size()) in parsePair()
437 if(special.find(data[pos]) != string::npos || data[pos] != '\\' || data[pos] != '"') in parsePair()
439 result += data[pos]; in parsePair()
440 ++pos; in parsePair()
443 return parseHexPair(data, pos, false); in parsePair()
451 parseHexPair(const string& data, size_t& pos, bool allowEmpty) in parseHexPair() argument
454 if(pos < data.size() && hexvalid.find(data[pos]) != string::npos) in parseHexPair()
456 result += data[pos]; in parseHexPair()
457 ++pos; in parseHexPair()
459 if(pos < data.size() && hexvalid.find(data[pos]) != string::npos) in parseHexPair()
461 result += data[pos]; in parseHexPair()
462 ++pos; in parseHexPair()
484 eatWhite(const string& data, size_t& pos) in eatWhite() argument
486 while(pos < data.size() && data[pos] == ' ') in eatWhite()
488 ++pos; in eatWhite()