in src/dxapi/native/tickdb/http/xml/xml_request.cpp [225:260]
void unescape(string& dest, const string& src)
{
dest.clear();
dest.reserve(src.size());
const char * r = src.c_str();
char c;
while ('\0' != (c = *r++)) {
if ('&' == c) {
if (0 == strncmp(r, "amp;", 4)) {
r += 4;
// c == '&'
}
else if (0 == strncmp(r, "quot;", 5)) {
r += 5;
c = '\"';
}
else if (0 == strncmp(r, "apos;", 5)) {
r += 5;
c = '\'';
}
else if (0 == strncmp(r, "lt;", 3)) {
r += 3;
c = '<';
}
else if (0 == strncmp(r, "gt;", 3)) {
r += 3;
c = '>';
}
else {
// Do nothing
}
}
dest.push_back(c);
}
}