convert all control chars into spaces to be xml 1.0 conform
This commit is contained in:
parent
564483e092
commit
1ae8869d7b
@ -9,6 +9,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <ctype.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -3226,26 +3227,34 @@ mbus_str_xml_encode(u_char *dst, const u_char *src, size_t max_len)
|
|||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (src[i])
|
|
||||||
{
|
|
||||||
case '&':
|
|
||||||
len += snprintf(&dst[len], max_len - len, "&");
|
|
||||||
break;
|
|
||||||
case '<':
|
|
||||||
len += snprintf(&dst[len], max_len - len, "<");
|
|
||||||
break;
|
|
||||||
case '>':
|
|
||||||
len += snprintf(&dst[len], max_len - len, ">");
|
|
||||||
break;
|
|
||||||
case '"':
|
|
||||||
len += snprintf(&dst[len], max_len - len, """);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
dst[len++] = src[i];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (iscntrl(src[i]))
|
||||||
|
{
|
||||||
|
// convert all control chars into spaces
|
||||||
|
dst[len++] = ' ';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (src[i])
|
||||||
|
{
|
||||||
|
case '&':
|
||||||
|
len += snprintf(&dst[len], max_len - len, "&");
|
||||||
|
break;
|
||||||
|
case '<':
|
||||||
|
len += snprintf(&dst[len], max_len - len, "<");
|
||||||
|
break;
|
||||||
|
case '>':
|
||||||
|
len += snprintf(&dst[len], max_len - len, ">");
|
||||||
|
break;
|
||||||
|
case '"':
|
||||||
|
len += snprintf(&dst[len], max_len - len, """);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dst[len++] = src[i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user