1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #if __GNUC__ >= 3
18 @PRAGMA_SYSTEM_HEADER@
19 #endif
20 @PRAGMA_COLUMNS@
21
22 #if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
23 || defined _GL_ALREADY_INCLUDING_LOCALE_H
24
25
26
27
28
29
30 #@INCLUDE_NEXT@ @NEXT_LOCALE_H@
31
32 #else
33
34
35 #ifndef _@GUARD_PREFIX@_LOCALE_H
36
37 #define _GL_ALREADY_INCLUDING_LOCALE_H
38
39
40 #@INCLUDE_NEXT@ @NEXT_LOCALE_H@
41
42 #undef _GL_ALREADY_INCLUDING_LOCALE_H
43
44 #ifndef _@GUARD_PREFIX@_LOCALE_H
45 #define _@GUARD_PREFIX@_LOCALE_H
46
47
48 #include <stddef.h>
49
50
51 #if @HAVE_XLOCALE_H@
52 # include <xlocale.h>
53 #endif
54
55
56
57
58
59
60
61
62
63 #if !defined LC_MESSAGES
64 # define LC_MESSAGES 1729
65 #endif
66
67
68
69
70 #if defined _MSC_VER
71 # define int_p_cs_precedes p_cs_precedes
72 # define int_p_sign_posn p_sign_posn
73 # define int_p_sep_by_space p_sep_by_space
74 # define int_n_cs_precedes n_cs_precedes
75 # define int_n_sign_posn n_sign_posn
76 # define int_n_sep_by_space n_sep_by_space
77 #endif
78
79
80 #if @REPLACE_STRUCT_LCONV@
81 # define lconv rpl_lconv
82 struct lconv
83 {
84
85
86
87
88
89
90 char *decimal_point;
91
92
93 char *thousands_sep;
94
95
96 char *grouping;
97
98
99
100
101
102 char *mon_decimal_point;
103
104
105 char *mon_thousands_sep;
106
107
108 char *mon_grouping;
109
110 char *positive_sign;
111
112 char *negative_sign;
113
114
115
116 char *currency_symbol;
117
118 char frac_digits;
119
120
121 char p_cs_precedes;
122
123 char p_sign_posn;
124
125
126 char p_sep_by_space;
127
128
129 char n_cs_precedes;
130
131 char n_sign_posn;
132
133
134 char n_sep_by_space;
135
136
137
138 char *int_curr_symbol;
139
140 char int_frac_digits;
141
142
143 char int_p_cs_precedes;
144
145 char int_p_sign_posn;
146
147
148 char int_p_sep_by_space;
149
150
151 char int_n_cs_precedes;
152
153 char int_n_sign_posn;
154
155
156 char int_n_sep_by_space;
157 };
158 #endif
159
160 #if @GNULIB_LOCALECONV@
161 # if @REPLACE_LOCALECONV@
162 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
163 # undef localeconv
164 # define localeconv rpl_localeconv
165 # endif
166 _GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));
167 _GL_CXXALIAS_RPL (localeconv, struct lconv *, (void));
168 # else
169 _GL_CXXALIAS_SYS (localeconv, struct lconv *, (void));
170 # endif
171 # if __GLIBC__ >= 2
172 _GL_CXXALIASWARN (localeconv);
173 # endif
174 #elif @REPLACE_STRUCT_LCONV@
175 # undef localeconv
176 # define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
177 #elif defined GNULIB_POSIXCHECK
178 # undef localeconv
179 # if HAVE_RAW_DECL_LOCALECONV
180 _GL_WARN_ON_USE (localeconv,
181 "localeconv returns too few information on some platforms - "
182 "use gnulib module localeconv for portability");
183 # endif
184 #endif
185
186 #if @GNULIB_SETLOCALE@
187 # if @REPLACE_SETLOCALE@
188 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
189 # undef setlocale
190 # define setlocale rpl_setlocale
191 # define GNULIB_defined_setlocale 1
192 # endif
193 _GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
194 _GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
195 # else
196 _GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
197 # endif
198 # if __GLIBC__ >= 2
199 _GL_CXXALIASWARN (setlocale);
200 # endif
201 #elif defined GNULIB_POSIXCHECK
202 # undef setlocale
203 # if HAVE_RAW_DECL_SETLOCALE
204 _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
205 "use gnulib module setlocale for portability");
206 # endif
207 #endif
208
209 #if @GNULIB_SETLOCALE_NULL@
210
211 # include "setlocale_null.h"
212 #endif
213
214 #if (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_NEWLOCALE@)
215 # if @REPLACE_NEWLOCALE@
216 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
217 # undef newlocale
218 # define newlocale rpl_newlocale
219 # define GNULIB_defined_newlocale 1
220 # endif
221 _GL_FUNCDECL_RPL (newlocale, locale_t,
222 (int category_mask, const char *name, locale_t base)
223 _GL_ARG_NONNULL ((2)));
224 _GL_CXXALIAS_RPL (newlocale, locale_t,
225 (int category_mask, const char *name, locale_t base));
226 # else
227 # if @HAVE_NEWLOCALE@
228 _GL_CXXALIAS_SYS (newlocale, locale_t,
229 (int category_mask, const char *name, locale_t base));
230 # endif
231 # endif
232 # if @HAVE_NEWLOCALE@
233 _GL_CXXALIASWARN (newlocale);
234 # endif
235 # if @HAVE_NEWLOCALE@ || @REPLACE_NEWLOCALE@
236 # ifndef HAVE_WORKING_NEWLOCALE
237 # define HAVE_WORKING_NEWLOCALE 1
238 # endif
239 # endif
240 #elif defined GNULIB_POSIXCHECK
241 # undef newlocale
242 # if HAVE_RAW_DECL_NEWLOCALE
243 _GL_WARN_ON_USE (newlocale, "newlocale is not portable");
244 # endif
245 #endif
246
247 #if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_DUPLOCALE@)
248 # if @REPLACE_DUPLOCALE@
249 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
250 # undef duplocale
251 # define duplocale rpl_duplocale
252 # define GNULIB_defined_duplocale 1
253 # endif
254 _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
255 _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
256 # else
257 # if @HAVE_DUPLOCALE@
258 _GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
259 # endif
260 # endif
261 # if @HAVE_DUPLOCALE@
262 _GL_CXXALIASWARN (duplocale);
263 # endif
264 # if @HAVE_DUPLOCALE@ || @REPLACE_DUPLOCALE@
265 # ifndef HAVE_WORKING_DUPLOCALE
266 # define HAVE_WORKING_DUPLOCALE 1
267 # endif
268 # endif
269 #elif defined GNULIB_POSIXCHECK
270 # undef duplocale
271 # if HAVE_RAW_DECL_DUPLOCALE
272 _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
273 "use gnulib module duplocale for portability");
274 # endif
275 #endif
276
277 #if (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_FREELOCALE@)
278 # if @REPLACE_FREELOCALE@
279 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
280 # undef freelocale
281 # define freelocale rpl_freelocale
282 # define GNULIB_defined_freelocale 1
283 # endif
284 _GL_FUNCDECL_RPL (freelocale, void, (locale_t locale) _GL_ARG_NONNULL ((1)));
285 _GL_CXXALIAS_RPL (freelocale, void, (locale_t locale));
286 # else
287 # if @HAVE_FREELOCALE@
288
289
290 _GL_CXXALIAS_SYS_CAST (freelocale, void, (locale_t locale));
291 # endif
292 # endif
293 # if @HAVE_FREELOCALE@
294 _GL_CXXALIASWARN (freelocale);
295 # endif
296 #elif defined GNULIB_POSIXCHECK
297 # undef freelocale
298 # if HAVE_RAW_DECL_FREELOCALE
299 _GL_WARN_ON_USE (freelocale, "freelocale is not portable");
300 # endif
301 #endif
302
303 #endif
304 #endif
305 #endif