|
|
|
@ -685,6 +685,28 @@ const char encoded_chars_html[] = {
|
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* F0 - FF */ |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const char encoded_chars_minimal_xml[] = { |
|
|
|
|
/*
|
|
|
|
|
0 1 2 3 4 5 6 7 8 9 A B C D E F |
|
|
|
|
*/ |
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 00 - 0F control chars */ |
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 10 - 1F */
|
|
|
|
|
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20 - 2F & */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, /* 30 - 3F < > */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 40 - 4F */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 50 - 5F */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 60 - 6F */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 70 - 7F DEL */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 80 - 8F */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 90 - 9F */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A0 - AF */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* B0 - BF */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* C0 - CF */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* D0 - DF */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E0 - EF */ |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* F0 - FF */ |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const char encoded_chars_hex[] = { |
|
|
|
|
/*
|
|
|
|
|
0 1 2 3 4 5 6 7 8 9 A B C D E F |
|
|
|
@ -731,6 +753,9 @@ int buffer_append_string_encoded(buffer *b, const char *s, size_t s_len, buffer_
|
|
|
|
|
case ENCODING_HTML: |
|
|
|
|
map = encoded_chars_html; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_MINIMAL_XML: |
|
|
|
|
map = encoded_chars_minimal_xml; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HEX: |
|
|
|
|
map = encoded_chars_hex; |
|
|
|
|
break; |
|
|
|
@ -749,6 +774,7 @@ int buffer_append_string_encoded(buffer *b, const char *s, size_t s_len, buffer_
|
|
|
|
|
d_len += 3; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HTML: |
|
|
|
|
case ENCODING_MINIMAL_XML: |
|
|
|
|
d_len += 6; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HEX: |
|
|
|
@ -774,6 +800,7 @@ int buffer_append_string_encoded(buffer *b, const char *s, size_t s_len, buffer_
|
|
|
|
|
d[d_len++] = hex_chars[(*ds) & 0x0F]; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HTML: |
|
|
|
|
case ENCODING_MINIMAL_XML: |
|
|
|
|
d[d_len++] = '&'; |
|
|
|
|
d[d_len++] = '#'; |
|
|
|
|
d[d_len++] = 'x'; |
|
|
|
|