Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curl_unescape(3)	    Library Functions Manual		curl_unescape(3)

NAME
     curl_unescape - URL decode a string

SYNOPSIS
     #include <curl/curl.h>

     char *curl_unescape(const char *input, int length);

DESCRIPTION
     Deprecated. Use curl_easy_unescape(3) instead.

     This function converts the URL encoded string input to a "plain string" and
     return  that  as  a new allocated string. All input characters that are URL
     encoded (%XX where XX is a two-digit hexadecimal number) are  converted  to
     their  plain  text  versions. Although not constrained by its type, the re-
     turned data may not be altered.

     If the length argument is set to 0, curl_unescape(3) calls strlen() on  in-
     put to find out the size.

     You must curl_free(3) the returned string when you are done with it.

PROTOCOLS
     This functionality affects all supported protocols

EXAMPLE
     int main(void)
     {
       CURL *curl = curl_easy_init();
       if(curl) {
	 char *decoded = curl_unescape("%63%75%72%6c", 12);
	 if(decoded) {
	   /* do not assume printf() works on the decoded data */
	   printf("Decoded: ");
	   /* ... */
	   curl_free(decoded);
	 }
       }
     }

DEPRECATED
     Since  7.15.4, curl_easy_unescape(3) should be used. This function might be
     removed in a future release.

AVAILABILITY
     Added in curl 7.1

RETURN VALUE
     A pointer to a null-terminated string or NULL if it failed.

SEE ALSO
     RFC2396, curl_easy_escape(3), curl_easy_unescape(3), curl_free(3)

libcurl 			   2026-06-11			curl_unescape(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_unescape&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help