X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_cgi.c;h=eb9d593affdb2d2e0531d8e779d94d6507715705;hb=e6c6e8043f974b474e912f0cf76e491721f4e2a9;hp=7c01bd9862a62518d679090948e57a755d29e41c;hpb=60bc35adce4421df6d058c4cc20e9b66ee9ec322;p=collection4.git diff --git a/src/utils_cgi.c b/src/utils_cgi.c index 7c01bd9..eb9d593 100644 --- a/src/utils_cgi.c +++ b/src/utils_cgi.c @@ -432,10 +432,17 @@ 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] == '/') + || (src[in] == ' ') + /* RFC 3986, gen-delims */ + || (src[in] == ':') || (src[in] == '/') || (src[in] == '?') + || (src[in] == '#') || (src[in] == '[') || (src[in] == ']') + || (src[in] == '@') + /* RFC 3986, sub-delims */ + || (src[in] == '!') || (src[in] == '$') || (src[in] == '&') + || (src[in] == '(') || (src[in] == ')') || (src[in] == '*') + || (src[in] == '+') || (src[in] == ',') || (src[in] == ';') + || (src[in] == '=') || (src[in] == '\'') + /* 8-bit data */ || (((unsigned char) src[in]) >= 128)) { char esc[4]; @@ -462,6 +469,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]; @@ -740,7 +757,7 @@ int html_print_logo (__attribute__((unused)) void *user_data) /* {{{ */ printf ("\n" "

C4

\n" "
collection 4
\n" - "
\n"); + "\n", script_name ()); return (0); } /* }}} int html_print_search_box */