00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifdef HAVE_CONFIG_H
00024 # include "config.h"
00025 #endif
00026
00027 #include "idna.h"
00028
00029 #include "gettext.h"
00030 #define _(String) dgettext (PACKAGE, String)
00031
00065 const char *
00066 idna_strerror (Idna_rc rc)
00067 {
00068 const char *p;
00069
00070 bindtextdomain (PACKAGE, LOCALEDIR);
00071
00072 switch (rc)
00073 {
00074 case IDNA_SUCCESS:
00075 p = _("Success");
00076 break;
00077
00078 case IDNA_STRINGPREP_ERROR:
00079 p = _("String preparation failed");
00080 break;
00081
00082 case IDNA_PUNYCODE_ERROR:
00083 p = _("Punycode failed");
00084 break;
00085
00086 case IDNA_CONTAINS_NON_LDH:
00087 p = _("Non-digit/letter/hyphen in input");
00088 break;
00089
00090 case IDNA_CONTAINS_MINUS:
00091 p = _("Forbidden leading or trailing minus sign (`-')");
00092 break;
00093
00094 case IDNA_INVALID_LENGTH:
00095 p = _("Output would be too large or too small");
00096 break;
00097
00098 case IDNA_NO_ACE_PREFIX:
00099 p = _("Input does not start with ACE prefix (`xn--')");
00100 break;
00101
00102 case IDNA_ROUNDTRIP_VERIFY_ERROR:
00103 p = _("String not idempotent under ToASCII");
00104 break;
00105
00106 case IDNA_CONTAINS_ACE_PREFIX:
00107 p = _("Input already contain ACE prefix (`xn--')");
00108 break;
00109
00110 case IDNA_ICONV_ERROR:
00111 p = _("System iconv failed");
00112 break;
00113
00114 case IDNA_MALLOC_ERROR:
00115 p = _("Cannot allocate memory");
00116 break;
00117
00118 case IDNA_DLOPEN_ERROR:
00119 p = _("System dlopen failed");
00120 break;
00121
00122 default:
00123 p = _("Unknown error");
00124 break;
00125 }
00126
00127 return p;
00128 }