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

FreeBSD Manual Pages


home | help
punycode_decode(3)		    libidn		    punycode_decode(3)

       punycode_decode - API function

       #include	<punycode.h>

       int  punycode_decode(size_t input_length, const char [] input, size_t *
       output_length, punycode_uint [] output, unsigned	char []	case_flags);

       size_t input_length
		   The number of ASCII code points in the  input array.

       const char [] input
		   An array of ASCII code points (0..7F).

       size_t *	output_length
		   The caller passes in	the maximum number of code points that
		   it  can  receive  into the  output array (which is also the
		   maximum number of flags that	it can receive into the
		    case_flags array, if  case_flags is	not a  NULL  pointer).
		   On  successful  return  it  will contain the	number of code
		   points actually output (which is also the number  of	 flags
		   actually output, if case_flags is not a null	pointer).  The
		   decoder will	never need to output more code points than the
		   number  of  ASCII  code points in the input,	because	of the
		   way the encoding is defined.	 The  number  of  code	points
		   output  cannot exceed the maximum possible value of a puny-
		   code_uint, even if the supplied
		    output_length is greater than that.

       punycode_uint []	output
		   An array of code points like	the input  argument  of	 puny-
		   code_encode() (see above).

       unsigned	char []	case_flags
		   A  NULL pointer (if the flags are not needed	by the caller)
		   or an array of boolean values parallel to the   output  ar-
		   ray.	 Nonzero (true,	flagged) suggests that the correspond-
		   ing Unicode character be forced to uppercase	by the	caller
		   (if possible), and zero (false, unflagged) suggests that it
		   be forced to	lowercase (if possible).   ASCII  code	points
		   (0..7F)  are	 output	 already in the	proper case, but their
		   flags will be set appropriately so that applying the	 flags
		   would be harmless.

       Converts	 Punycode to a sequence	of code	points (presumed to be Unicode
       code points).

       Return value: The return	value can be any of the	Punycode_status	values
       defined above.  If not PUNYCODE_SUCCESS,	then
	output_length ,	 output	, and  case_flags might	contain	garbage.

       Report bugs to <>.
       General guidelines for reporting	bugs:
       GNU Libidn home page:

       Copyright (C) 2002-2016 Simon Josefsson.
       Copying	and  distribution  of this file, with or without modification,
       are permitted in	any medium without royalty provided the	copyright  no-
       tice and	this notice are	preserved.

       The  full  documentation	 for libidn is maintained as a Texinfo manual.
       If the info and libidn programs are properly installed  at  your	 site,
       the command

	      info libidn

       should  give  you access	to the complete	manual.	 As an alternative you
       may obtain the manual from:

libidn				     1.34		    punycode_decode(3)


Want to link to this manual page? Use this URL:

home | help