libidn  1.25
strerror-stringprep.c
Go to the documentation of this file.
00001 /* strerror-stringprep.c --- Convert stringprep errors into text.
00002    Copyright (C) 2004-2012 Simon Josefsson
00003 
00004    This file is part of GNU Libidn.
00005 
00006    GNU Libidn is free software: you can redistribute it and/or
00007    modify it under the terms of either:
00008 
00009      * the GNU Lesser General Public License as published by the Free
00010        Software Foundation; either version 3 of the License, or (at
00011        your option) any later version.
00012 
00013    or
00014 
00015      * the GNU General Public License as published by the Free
00016        Software Foundation; either version 2 of the License, or (at
00017        your option) any later version.
00018 
00019    or both in parallel, as here.
00020 
00021    GNU Libidn is distributed in the hope that it will be useful,
00022    but WITHOUT ANY WARRANTY; without even the implied warranty of
00023    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00024    General Public License for more details.
00025 
00026    You should have received copies of the GNU General Public License and
00027    the GNU Lesser General Public License along with this program.  If
00028    not, see <http://www.gnu.org/licenses/>. */
00029 
00030 #ifdef HAVE_CONFIG_H
00031 # include "config.h"
00032 #endif
00033 
00034 #include "stringprep.h"
00035 
00036 #include "gettext.h"
00037 #define _(String) dgettext (PACKAGE, String)
00038 
00076 const char *
00077 stringprep_strerror (Stringprep_rc rc)
00078 {
00079   const char *p;
00080 
00081   bindtextdomain (PACKAGE, LOCALEDIR);
00082 
00083   switch (rc)
00084     {
00085     case STRINGPREP_OK:
00086       p = _("Success");
00087       break;
00088 
00089     case STRINGPREP_CONTAINS_UNASSIGNED:
00090       p = _("Forbidden unassigned code points in input");
00091       break;
00092 
00093     case STRINGPREP_CONTAINS_PROHIBITED:
00094       p = _("Prohibited code points in input");
00095       break;
00096 
00097     case STRINGPREP_BIDI_BOTH_L_AND_RAL:
00098       p = _("Conflicting bidirectional properties in input");
00099       break;
00100 
00101     case STRINGPREP_BIDI_LEADTRAIL_NOT_RAL:
00102       p = _("Malformed bidirectional string");
00103       break;
00104 
00105     case STRINGPREP_BIDI_CONTAINS_PROHIBITED:
00106       p = _("Prohibited bidirectional code points in input");
00107       break;
00108 
00109     case STRINGPREP_TOO_SMALL_BUFFER:
00110       p = _("Output would exceed the buffer space provided");
00111       break;
00112 
00113     case STRINGPREP_PROFILE_ERROR:
00114       p = _("Error in stringprep profile definition");
00115       break;
00116 
00117     case STRINGPREP_FLAG_ERROR:
00118       p = _("Flag conflict with profile");
00119       break;
00120 
00121     case STRINGPREP_UNKNOWN_PROFILE:
00122       p = _("Unknown profile");
00123       break;
00124 
00125     case STRINGPREP_NFKC_FAILED:
00126       p = _("Unicode normalization failed (internal error)");
00127       break;
00128 
00129     case STRINGPREP_MALLOC_ERROR:
00130       p = _("Cannot allocate memory");
00131       break;
00132 
00133     default:
00134       p = _("Unknown error");
00135       break;
00136     }
00137 
00138   return p;
00139 }