SYNOPSIS

       #include <punycode.h>

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


ARGUMENTS

       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 can-
                   not exceed the maximum possible value of  a  punycode_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 array.
                   Nonzero (true, flagged)  suggests  that  the  corresponding
                   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.


DESCRIPTION

       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.


REPORTING BUGS


       should give you access to the complete manual.



libidn                                1.2                   punycode_decode(3)

Man(1) output converted with man2html