in src/main/cpp/transform.cpp [26:87]
void Transform::appendEscapingTags(
LogString& buf, const LogString& input)
{
//Check if the string is zero length -- if so, return
//what was sent in.
if (input.length() == 0 )
{
return;
}
logchar specials[] = { 0x22 /* " */, 0x26 /* & */, 0x3C /* < */, 0x3E /* > */, 0x00 };
size_t start = 0;
size_t special = input.find_first_of(specials, start);
while (special != LogString::npos)
{
if (special > start)
{
buf.append(input, start, special - start);
}
switch (input[special])
{
case 0x22:
buf.append(LOG4CXX_STR("""));
break;
case 0x26:
buf.append(LOG4CXX_STR("&"));
break;
case 0x3C:
buf.append(LOG4CXX_STR("<"));
break;
case 0x3E:
buf.append(LOG4CXX_STR(">"));
break;
default:
buf.append(1, input[special]);
break;
}
start = special + 1;
if (special < input.size())
{
special = input.find_first_of(specials, start);
}
else
{
special = LogString::npos;
}
}
if (start < input.size())
{
buf.append(input, start, input.size() - start);
}
}