libidn  1.25
strerror-pr29.c
Go to the documentation of this file.
00001 /* strerror-pr29.c --- Convert PR29 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 "pr29.h"
00035 
00036 #include "gettext.h"
00037 #define _(String) dgettext (PACKAGE, String)
00038 
00056 const char *
00057 pr29_strerror (Pr29_rc rc)
00058 {
00059   const char *p;
00060 
00061   bindtextdomain (PACKAGE, LOCALEDIR);
00062 
00063   switch (rc)
00064     {
00065     case PR29_SUCCESS:
00066       p = _("Success");
00067       break;
00068 
00069     case PR29_PROBLEM:
00070       p = _("String not idempotent under Unicode NFKC normalization");
00071       break;
00072 
00073     case PR29_STRINGPREP_ERROR:
00074       p = _("String preparation failed");
00075       break;
00076 
00077     default:
00078       p = _("Unknown error");
00079       break;
00080     }
00081 
00082   return p;
00083 }