X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_cgi.c;h=785191422c9e449a2d85995581a53675dbf3f26a;hb=cc5ecbf3e8768c8a69e22df3e6a73ef3d57d9b9e;hp=f4abec2dac3be3196a1b4009d47860e1fbbdabe9;hpb=2ba3446fa0017fd08090e7761a890fed006d1d31;p=collection4.git diff --git a/src/utils_cgi.c b/src/utils_cgi.c index f4abec2..7851914 100644 --- a/src/utils_cgi.c +++ b/src/utils_cgi.c @@ -104,6 +104,7 @@ static char *uri_unescape_copy (char *dest, const char *src, size_t n) /* {{{ */ *dest_ptr = *src_ptr; } + n--; src_ptr++; dest_ptr++; *dest_ptr = 0; @@ -111,7 +112,7 @@ static char *uri_unescape_copy (char *dest, const char *src, size_t n) /* {{{ */ assert (*dest_ptr == 0); return (dest); -} /* }}} char *uri_unescape */ +} /* }}} char *uri_unescape_copy */ static char *uri_unescape (const char *string) /* {{{ */ { @@ -431,6 +432,7 @@ char *uri_escape_copy (char *dest, const char *src, size_t n) /* {{{ */ return (dest); } else if ((((unsigned char) src[in]) < 32) + || (src[in] == ' ') || (src[in] == '&') || (src[in] == ';') || (src[in] == '?') @@ -461,6 +463,16 @@ char *uri_escape_copy (char *dest, const char *src, size_t n) /* {{{ */ return (dest); } /* }}} char *uri_escape_copy */ +char *uri_escape_buffer (char *buffer, size_t buffer_size) /* {{{ */ +{ + char temp[buffer_size]; + + uri_escape_copy (temp, buffer, buffer_size); + memcpy (buffer, temp, buffer_size); + + return (&buffer[0]); +} /* }}} char *uri_escape_buffer */ + char *uri_escape (const char *string) /* {{{ */ { char buffer[4096];