src/utils_cgi.c: Implement "uri_escape_buffer".
authorFlorian Forster <ff@octo.it>
Wed, 28 Jul 2010 16:01:45 +0000 (18:01 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Wed, 28 Jul 2010 16:01:45 +0000 (18:01 +0200)
src/utils_cgi.c

index 7c01bd9..7851914 100644 (file)
@@ -432,6 +432,7 @@ char *uri_escape_copy (char *dest, const char *src, size_t n) /* {{{ */
       return (dest);
     }
     else if ((((unsigned char) src[in]) < 32)
       return (dest);
     }
     else if ((((unsigned char) src[in]) < 32)
+        || (src[in] == ' ')
         || (src[in] == '&')
         || (src[in] == ';')
         || (src[in] == '?')
         || (src[in] == '&')
         || (src[in] == ';')
         || (src[in] == '?')
@@ -462,6 +463,16 @@ char *uri_escape_copy (char *dest, const char *src, size_t n) /* {{{ */
   return (dest);
 } /* }}} char *uri_escape_copy */
 
   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];
 char *uri_escape (const char *string) /* {{{ */
 {
   char buffer[4096];