punycode\_strerror(3) libidn punycode\_strerror(3)

# [NAME](#NAME)

punycode\_strerror - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;punycode.h&gt;**

**const char * punycode\_strerror(Punycode\_status rc);**

# [ARGUMENTS](#ARGUMENTS)

[Punycode\_status rc](#Punycode_status)

an **Punycode\_status** return code.

# [DESCRIPTION](#DESCRIPTION)

Convert a return code integer to a text string. This string can be used to output a diagnostic message to the user.

# [PUNYCODE\_SUCCESS](#PUNYCODE_SUCCESS)

Successful operation. This value is guaranteed to always be zero, the remaining ones are only guaranteed to hold non-zero values, for logical comparison purposes.

# [PUNYCODE\_BAD\_INPUT](#PUNYCODE_BAD_INPUT)

Input is invalid.

# [PUNYCODE\_BIG\_OUTPUT](#PUNYCODE_BIG_OUTPUT)

Output would exceed the space provided.

# [PUNYCODE\_OVERFLOW](#PUNYCODE_OVERFLOW)

Input needs wider integers to process.

Return value: Returns a pointer to a statically allocated string containing a description of the error with the return code *rc* .

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;help-libidn@gnu.org&gt;.  
General guidelines for reporting bugs: https://www.gnu.org/gethelp/  
GNU Libidn home page: https://www.gnu.org/software/libidn/

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2002-2026 Simon Josefsson.  
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

# [SEE ALSO](#SEE_ALSO)

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:

**https://www.gnu.org/software/libidn/manual/**

1.44 libidn

---

Document: punycode_strerror(3) from libidn 1.44-r6 (Chainguard OS)
Source: https://gitlab.com/libidn/libidn
