punycode_decode(3) libidn punycode_decode(3) NNAAMMEE punycode_decode - API function SSYYNNOOPPSSIISS ##iinncclluuddee <
>
iinntt ppuunnyyccooddee__ddeeccooddee((ssiizzee__tt _i_n_p_u_t___l_e_n_g_t_h,, ccoonnsstt cchhaarr [[]] _i_n_p_u_t,, ssiizzee__tt **
_o_u_t_p_u_t___l_e_n_g_t_h,, ppuunnyyccooddee__uuiinntt [[]] _o_u_t_p_u_t,, uunnssiiggnneedd cchhaarr [[]] _c_a_s_e___f_l_a_g_s));;
AARRGGUUMMEENNTTSS
size_t input_length
The number of ASCII code points in the _i_n_p_u_t 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 _o_u_t_p_u_t array (which is also the
maximum number of flags that it can receive into the
_c_a_s_e___f_l_a_g_s array, if _c_a_s_e___f_l_a_g_s is not a NNUULLLL 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
_o_u_t_p_u_t___l_e_n_g_t_h is greater than that.
punycode_uint [] output
An array of code points like the input argument of ppuunnyy--
ccooddee__eennccooddee(()) (see above).
unsigned char [] case_flags
A NNUULLLL pointer (if the flags are not needed by the caller)
or an array of boolean values parallel to the _o_u_t_p_u_t
array. Nonzero (true, flagged) suggests that the corre-
sponding 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.
DDEESSCCRRIIPPTTIIOONN
Converts Punycode to a sequence of code points (presumed to be Unicode
code points).
Return value: The return value can be any of the PPuunnyyccooddee__ssttaattuuss values
defined above. If not PPUUNNYYCCOODDEE__SSUUCCCCEESSSS, then
_o_u_t_p_u_t___l_e_n_g_t_h , _o_u_t_p_u_t , and _c_a_s_e___f_l_a_g_s might contain garbage.
RREEPPOORRTTIINNGG BBUUGGSS
Report bugs to