Commit 2f8e7f56 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

ignore '+' in URLs, generate only %-codes

parent 2443e1f3
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
@@ -48,9 +48,7 @@ char *curl_escape(const char *string, int length)
  length = alloc-1;
  while(length--) {
    in = *string;
    if(' ' == in)
      ns[index++] = '+';
    else if(!(in >= 'a' && in <= 'z') &&
    if(!(in >= 'a' && in <= 'z') &&
       !(in >= 'A' && in <= 'Z') &&
       !(in >= '0' && in <= '9')) {
      /* encode it */
@@ -82,19 +80,10 @@ char *curl_unescape(const char *string, int length)
  unsigned char in;
  int index=0;
  unsigned int hex;
  char querypart=FALSE; /* everything to the right of a '?' letter is
                           the "query part" where '+' should become ' '.
                           RFC 2316, section 3.10 */
  
  while(--alloc > 0) {
    in = *string;
    if(querypart && ('+' == in))
      in = ' ';
    else if(!querypart && ('?' == in)) {
      /* we have "walked in" to the query part */
      querypart=TRUE;
    }
    else if('%' == in) {
    if('%' == in) {
      /* encoded part */
      if(sscanf(string+1, "%02X", &hex)) {
        in = hex;