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 returned data may not be altered.

       If  the length argument is set to 0, curl_unescape(3) calls strlen() on
       input 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