libidn  1.42
strerror-stringprep.c
Go to the documentation of this file.
1 /* strerror-stringprep.c --- Convert stringprep errors into text.
2  Copyright (C) 2004-2024 Simon Josefsson
3 
4  This file is part of GNU Libidn.
5 
6  GNU Libidn is free software: you can redistribute it and/or
7  modify it under the terms of either:
8 
9  * the GNU Lesser General Public License as published by the Free
10  Software Foundation; either version 3 of the License, or (at
11  your option) any later version.
12 
13  or
14 
15  * the GNU General Public License as published by the Free
16  Software Foundation; either version 2 of the License, or (at
17  your option) any later version.
18 
19  or both in parallel, as here.
20 
21  GNU Libidn is distributed in the hope that it will be useful,
22  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24  General Public License for more details.
25 
26  You should have received copies of the GNU General Public License and
27  the GNU Lesser General Public License along with this program. If
28  not, see <https://www.gnu.org/licenses/>. */
29 
30 #ifdef HAVE_CONFIG_H
31 # include "config.h"
32 #endif
33 
34 #include "stringprep.h"
35 
36 #include "gettext.h"
37 #define _(String) dgettext (PACKAGE, String)
38 
77 const char *
79 {
80  const char *p;
81 
82  bindtextdomain (PACKAGE, LOCALEDIR);
83 
84  switch (rc)
85  {
86  case STRINGPREP_OK:
87  p = _("Success");
88  break;
89 
91  p = _("Forbidden unassigned code points in input");
92  break;
93 
95  p = _("Prohibited code points in input");
96  break;
97 
99  p = _("Conflicting bidirectional properties in input");
100  break;
101 
103  p = _("Malformed bidirectional string");
104  break;
105 
107  p = _("Prohibited bidirectional code points in input");
108  break;
109 
111  p = _("Output would exceed the buffer space provided");
112  break;
113 
115  p = _("Error in stringprep profile definition");
116  break;
117 
119  p = _("Flag conflict with profile");
120  break;
121 
123  p = _("Unknown profile");
124  break;
125 
127  p = _("Character encoding conversion error");
128  break;
129 
131  p = _("Unicode normalization failed (internal error)");
132  break;
133 
135  p = _("Cannot allocate memory");
136  break;
137 
138  default:
139  p = _("Unknown error");
140  break;
141  }
142 
143  return p;
144 }
#define _(String)
const char * stringprep_strerror(Stringprep_rc rc)
Stringprep_rc
Definition: stringprep.h:66
@ STRINGPREP_UNKNOWN_PROFILE
Definition: stringprep.h:78
@ STRINGPREP_NFKC_FAILED
Definition: stringprep.h:81
@ STRINGPREP_TOO_SMALL_BUFFER
Definition: stringprep.h:75
@ STRINGPREP_ICONV_ERROR
Definition: stringprep.h:79
@ STRINGPREP_MALLOC_ERROR
Definition: stringprep.h:82
@ STRINGPREP_FLAG_ERROR
Definition: stringprep.h:77
@ STRINGPREP_OK
Definition: stringprep.h:67
@ STRINGPREP_CONTAINS_UNASSIGNED
Definition: stringprep.h:69
@ STRINGPREP_CONTAINS_PROHIBITED
Definition: stringprep.h:70
@ STRINGPREP_BIDI_CONTAINS_PROHIBITED
Definition: stringprep.h:73
@ STRINGPREP_BIDI_BOTH_L_AND_RAL
Definition: stringprep.h:71
@ STRINGPREP_BIDI_LEADTRAIL_NOT_RAL
Definition: stringprep.h:72
@ STRINGPREP_PROFILE_ERROR
Definition: stringprep.h:76