|
|
|
@ -7,7 +7,6 @@
|
|
|
|
|
#include <string.h> |
|
|
|
|
#include <time.h> /* strftime() */ |
|
|
|
|
|
|
|
|
|
static const char hex_chars[] = "0123456789abcdef"; |
|
|
|
|
static const char hex_chars_lc[] = "0123456789abcdef"; |
|
|
|
|
static const char hex_chars_uc[] = "0123456789ABCDEF"; |
|
|
|
|
|
|
|
|
@ -684,16 +683,16 @@ void buffer_append_string_encoded(buffer *b, const char *s, size_t s_len, buffer
|
|
|
|
|
case ENCODING_REL_URI: |
|
|
|
|
case ENCODING_REL_URI_PART: |
|
|
|
|
d[d_len++] = '%'; |
|
|
|
|
d[d_len++] = hex_chars[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars[(*ds) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_uc[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_uc[(*ds) & 0x0F]; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HTML: |
|
|
|
|
case ENCODING_MINIMAL_XML: |
|
|
|
|
d[d_len++] = '&'; |
|
|
|
|
d[d_len++] = '#'; |
|
|
|
|
d[d_len++] = 'x'; |
|
|
|
|
d[d_len++] = hex_chars[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars[(*ds) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_uc[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_uc[(*ds) & 0x0F]; |
|
|
|
|
d[d_len++] = ';'; |
|
|
|
|
break; |
|
|
|
|
case ENCODING_HTTP_HEADER: |
|
|
|
@ -755,8 +754,8 @@ void buffer_append_string_c_escaped(buffer *b, const char *s, size_t s_len) {
|
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
d[d_len++] = 'x'; |
|
|
|
|
d[d_len++] = hex_chars[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars[(*ds) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_lc[((*ds) >> 4) & 0x0F]; |
|
|
|
|
d[d_len++] = hex_chars_lc[(*ds) & 0x0F]; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|