in src/util.c [295:332]
unsigned int escape_char_for_xml(char *in, char *out)
{
unsigned int count = 0;
size_t pos_in = 0, pos_out = 0;
for (pos_in = 0; in[pos_in]; pos_in++) {
count++;
switch (in[pos_in]) {
case '>':
memcpy(out + pos_out, ">", 4);
pos_out = pos_out + 4;
break;
case '<':
memcpy(out + pos_out, "<", 4);
pos_out = pos_out + 4;
break;
case '&':
memcpy(out + pos_out, "&", 5);
pos_out = pos_out + 5;
break;
case '\'':
memcpy(out + pos_out, "'", 6);
pos_out = pos_out + 6;
break;
case '\"':
memcpy(out + pos_out, """, 6);
pos_out = pos_out + 6;
break;
case '\n':
break;
default:
count--;
memcpy(out + pos_out, in + pos_in, 1);
pos_out++;
}
}
return count;
}