File indexing completed on 2026-11-02 10:40:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef _LIBINTL_H
0020 #define _LIBINTL_H 1
0021
0022 #include <locale.h>
0023 #if (defined __APPLE__ && defined __MACH__) && 1
0024 # include <xlocale.h>
0025 #endif
0026
0027
0028
0029
0030
0031
0032
0033
0034 #if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
0035 # define LC_MESSAGES 1729
0036 #endif
0037
0038
0039
0040 #define __USE_GNU_GETTEXT 1
0041
0042
0043
0044 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
0045 ((major) == 0 || (major) == 1 ? 1 : -1)
0046
0047
0048
0049 #ifdef __DJGPP__
0050 # undef gettext
0051 #endif
0052
0053 #ifdef __cplusplus
0054 extern "C" {
0055 #endif
0056
0057
0058
0059 #define LIBINTL_VERSION 0x010000
0060 extern int libintl_version;
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115 #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 1) > 3) || defined __clang__
0116 # define _INTL_HAS_FORCE_INLINE
0117 # define _INTL_FORCE_INLINE __attribute__ ((__always_inline__))
0118 #else
0119 # define _INTL_FORCE_INLINE
0120 #endif
0121
0122
0123
0124 #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
0125 # if ((defined __GNUC__ && __GNUC__ >= 2) || defined __clang__) && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
0126 # define _INTL_REDIRECT_ASM
0127 # else
0128 # if defined __cplusplus && defined _INTL_HAS_FORCE_INLINE
0129 # define _INTL_REDIRECT_INLINE
0130 # else
0131 # define _INTL_REDIRECT_MACROS
0132 # endif
0133 # endif
0134 #endif
0135
0136 #ifdef _INTL_REDIRECT_ASM
0137 # define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
0138 # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
0139 # define _INTL_STRINGIFY(prefix) #prefix
0140 #else
0141 # define _INTL_ASM(cname)
0142 #endif
0143
0144
0145
0146
0147 #if ((defined __GNUC__ && __GNUC__ >= 3) || defined __clang__) && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && !(defined __clang__ && __clang__ && __clang_major__ >= 3) && defined __cplusplus)
0148 # define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
0149 #else
0150 # define _INTL_MAY_RETURN_STRING_ARG(n)
0151 #endif
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164 #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 7) > 2) || defined __clang__
0165 # define _INTL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
0166 #else
0167 # define _INTL_ATTRIBUTE_FORMAT(spec)
0168 #endif
0169
0170
0171
0172
0173
0174
0175 #if defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 4) > 4
0176 # define _INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD __gnu_printf__
0177 #else
0178 # define _INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD __printf__
0179 #endif
0180
0181
0182
0183
0184
0185 #define _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD(formatstring_parameter, first_argument) \
0186 _INTL_ATTRIBUTE_FORMAT ((_INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD, formatstring_parameter, first_argument))
0187
0188
0189
0190
0191 #if (defined __GNUC__ && __GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__
0192 # define _INTL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
0193 #else
0194 # define _INTL_ARG_NONNULL(params)
0195 #endif
0196
0197
0198
0199
0200
0201 #ifdef _INTL_REDIRECT_INLINE
0202 extern char *libintl_gettext (const char *__msgid)
0203 _INTL_MAY_RETURN_STRING_ARG (1);
0204 # ifndef __cplusplus
0205 static
0206 # endif
0207 inline
0208 _INTL_FORCE_INLINE
0209 _INTL_MAY_RETURN_STRING_ARG (1)
0210 char *gettext (const char *__msgid)
0211 {
0212 return libintl_gettext (__msgid);
0213 }
0214 #else
0215 # ifdef _INTL_REDIRECT_MACROS
0216 # define gettext libintl_gettext
0217 # endif
0218 extern char *gettext (const char *__msgid)
0219 _INTL_ASM (libintl_gettext)
0220 _INTL_MAY_RETURN_STRING_ARG (1);
0221 #endif
0222
0223
0224
0225 #ifdef _INTL_REDIRECT_INLINE
0226 extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
0227 _INTL_MAY_RETURN_STRING_ARG (2);
0228 # ifndef __cplusplus
0229 static
0230 # endif
0231 inline
0232 _INTL_FORCE_INLINE
0233 _INTL_MAY_RETURN_STRING_ARG (2)
0234 char *dgettext (const char *__domainname, const char *__msgid)
0235 {
0236 return libintl_dgettext (__domainname, __msgid);
0237 }
0238 #else
0239 # ifdef _INTL_REDIRECT_MACROS
0240 # define dgettext libintl_dgettext
0241 # endif
0242 extern char *dgettext (const char *__domainname, const char *__msgid)
0243 _INTL_ASM (libintl_dgettext)
0244 _INTL_MAY_RETURN_STRING_ARG (2);
0245 #endif
0246
0247
0248
0249 #ifdef _INTL_REDIRECT_INLINE
0250 extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
0251 int __category)
0252 _INTL_MAY_RETURN_STRING_ARG (2);
0253 # ifndef __cplusplus
0254 static
0255 # endif
0256 inline
0257 _INTL_FORCE_INLINE
0258 _INTL_MAY_RETURN_STRING_ARG (2)
0259 char *dcgettext (const char *__domainname, const char *__msgid, int __category)
0260 {
0261 return libintl_dcgettext (__domainname, __msgid, __category);
0262 }
0263 #else
0264 # ifdef _INTL_REDIRECT_MACROS
0265 # define dcgettext libintl_dcgettext
0266 # endif
0267 extern char *dcgettext (const char *__domainname, const char *__msgid,
0268 int __category)
0269 _INTL_ASM (libintl_dcgettext)
0270 _INTL_MAY_RETURN_STRING_ARG (2);
0271 #endif
0272
0273
0274
0275
0276 #ifdef _INTL_REDIRECT_INLINE
0277 extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
0278 unsigned long int __n)
0279 _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
0280 # ifndef __cplusplus
0281 static
0282 # endif
0283 inline
0284 _INTL_FORCE_INLINE
0285 _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2)
0286 char *ngettext (const char *__msgid1, const char *__msgid2,
0287 unsigned long int __n)
0288 {
0289 return libintl_ngettext (__msgid1, __msgid2, __n);
0290 }
0291 #else
0292 # ifdef _INTL_REDIRECT_MACROS
0293 # define ngettext libintl_ngettext
0294 # endif
0295 extern char *ngettext (const char *__msgid1, const char *__msgid2,
0296 unsigned long int __n)
0297 _INTL_ASM (libintl_ngettext)
0298 _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
0299 #endif
0300
0301
0302
0303 #ifdef _INTL_REDIRECT_INLINE
0304 extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
0305 const char *__msgid2, unsigned long int __n)
0306 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
0307 # ifndef __cplusplus
0308 static
0309 # endif
0310 inline
0311 _INTL_FORCE_INLINE
0312 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3)
0313 char *dngettext (const char *__domainname, const char *__msgid1,
0314 const char *__msgid2, unsigned long int __n)
0315 {
0316 return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
0317 }
0318 #else
0319 # ifdef _INTL_REDIRECT_MACROS
0320 # define dngettext libintl_dngettext
0321 # endif
0322 extern char *dngettext (const char *__domainname,
0323 const char *__msgid1, const char *__msgid2,
0324 unsigned long int __n)
0325 _INTL_ASM (libintl_dngettext)
0326 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
0327 #endif
0328
0329
0330
0331 #ifdef _INTL_REDIRECT_INLINE
0332 extern char *libintl_dcngettext (const char *__domainname,
0333 const char *__msgid1, const char *__msgid2,
0334 unsigned long int __n, int __category)
0335 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
0336 # ifndef __cplusplus
0337 static
0338 # endif
0339 inline
0340 _INTL_FORCE_INLINE
0341 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3)
0342 char *dcngettext (const char *__domainname,
0343 const char *__msgid1, const char *__msgid2,
0344 unsigned long int __n, int __category)
0345 {
0346 return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
0347 }
0348 #else
0349 # ifdef _INTL_REDIRECT_MACROS
0350 # define dcngettext libintl_dcngettext
0351 # endif
0352 extern char *dcngettext (const char *__domainname,
0353 const char *__msgid1, const char *__msgid2,
0354 unsigned long int __n, int __category)
0355 _INTL_ASM (libintl_dcngettext)
0356 _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
0357 #endif
0358
0359
0360
0361
0362
0363 #ifdef _INTL_REDIRECT_INLINE
0364 extern char *libintl_textdomain (const char *__domainname);
0365 # ifndef __cplusplus
0366 static
0367 # endif
0368 inline
0369 _INTL_FORCE_INLINE
0370 char *textdomain (const char *__domainname)
0371 {
0372 return libintl_textdomain (__domainname);
0373 }
0374 #else
0375 # ifdef _INTL_REDIRECT_MACROS
0376 # define textdomain libintl_textdomain
0377 # endif
0378 extern char *textdomain (const char *__domainname)
0379 _INTL_ASM (libintl_textdomain);
0380 #endif
0381
0382
0383
0384 #ifdef _INTL_REDIRECT_INLINE
0385 extern char *libintl_bindtextdomain (const char *__domainname,
0386 const char *__dirname);
0387 # ifndef __cplusplus
0388 static
0389 # endif
0390 inline
0391 _INTL_FORCE_INLINE
0392 char *bindtextdomain (const char *__domainname, const char *__dirname)
0393 {
0394 return libintl_bindtextdomain (__domainname, __dirname);
0395 }
0396 #else
0397 # ifdef _INTL_REDIRECT_MACROS
0398 # define bindtextdomain libintl_bindtextdomain
0399 # endif
0400 extern char *bindtextdomain (const char *__domainname, const char *__dirname)
0401 _INTL_ASM (libintl_bindtextdomain);
0402 #endif
0403
0404 #if defined _WIN32 && !defined __CYGWIN__
0405
0406
0407 # ifdef _INTL_REDIRECT_INLINE
0408 extern wchar_t *libintl_wbindtextdomain (const char *__domainname,
0409 const wchar_t *__wdirname);
0410 # ifndef __cplusplus
0411 static
0412 # endif
0413 inline
0414 _INTL_FORCE_INLINE
0415 wchar_t *wbindtextdomain (const char *__domainname, const wchar_t *__wdirname)
0416 {
0417 return libintl_wbindtextdomain (__domainname, __wdirname);
0418 }
0419 # else
0420 # ifdef _INTL_REDIRECT_MACROS
0421 # define wbindtextdomain libintl_wbindtextdomain
0422 # endif
0423 extern wchar_t *wbindtextdomain (const char *__domainname,
0424 const wchar_t *__wdirname)
0425 _INTL_ASM (libintl_wbindtextdomain);
0426 # endif
0427 #endif
0428
0429
0430
0431 #ifdef _INTL_REDIRECT_INLINE
0432 extern char *libintl_bind_textdomain_codeset (const char *__domainname,
0433 const char *__codeset);
0434 # ifndef __cplusplus
0435 static
0436 # endif
0437 inline
0438 _INTL_FORCE_INLINE
0439 char *bind_textdomain_codeset (const char *__domainname, const char *__codeset)
0440 {
0441 return libintl_bind_textdomain_codeset (__domainname, __codeset);
0442 }
0443 #else
0444 # ifdef _INTL_REDIRECT_MACROS
0445 # define bind_textdomain_codeset libintl_bind_textdomain_codeset
0446 # endif
0447 extern char *bind_textdomain_codeset (const char *__domainname,
0448 const char *__codeset)
0449 _INTL_ASM (libintl_bind_textdomain_codeset);
0450 #endif
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466
0467
0468
0469
0470
0471
0472 #if !1
0473
0474 # include <stdio.h>
0475 # include <stddef.h>
0476
0477
0478 # if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER
0479 # include <stdarg.h>
0480 # else
0481 # include <varargs.h>
0482 # endif
0483
0484 # if !((defined fprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_fprintf)
0485 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0486 extern int libintl_vfprintf (FILE *, const char *, va_list)
0487 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0488 _INTL_ARG_NONNULL ((1, 2));
0489 # ifndef __cplusplus
0490 static
0491 # endif
0492 inline
0493 _INTL_FORCE_INLINE
0494 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _INTL_ARG_NONNULL ((1, 2))
0495 int fprintf (FILE *__stream, const char *__format, ...)
0496 {
0497 va_list __args;
0498 int __ret;
0499 va_start (__args, __format);
0500 __ret = libintl_vfprintf (__stream, __format, __args);
0501 va_end (__args);
0502 return __ret;
0503 }
0504 # elif !defined _INTL_NO_DEFINE_MACRO_FPRINTF
0505 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0506 # undef fprintf
0507 # define fprintf libintl_fprintf
0508 # endif
0509 extern int fprintf (FILE *, const char *, ...)
0510 _INTL_ASM (libintl_fprintf)
0511 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
0512 _INTL_ARG_NONNULL ((1, 2));
0513 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0514 namespace std { using ::libintl_fprintf; }
0515 # endif
0516 # endif
0517 # endif
0518 # if !((defined vfprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vfprintf)
0519 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0520 extern int libintl_vfprintf (FILE *, const char *, va_list)
0521 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0522 _INTL_ARG_NONNULL ((1, 2));
0523 # ifndef __cplusplus
0524 static
0525 # endif
0526 inline
0527 _INTL_FORCE_INLINE
0528 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _INTL_ARG_NONNULL ((1, 2))
0529 int vfprintf (FILE *__stream, const char *__format, va_list __args)
0530 {
0531 return libintl_vfprintf (__stream, __format, __args);
0532 }
0533 # elif !defined _INTL_NO_DEFINE_MACRO_VFPRINTF
0534 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0535 # undef vfprintf
0536 # define vfprintf libintl_vfprintf
0537 # endif
0538 extern int vfprintf (FILE *, const char *, va_list)
0539 _INTL_ASM (libintl_vfprintf)
0540 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0541 _INTL_ARG_NONNULL ((1, 2));
0542 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0543 namespace std { using ::libintl_vfprintf; }
0544 # endif
0545 # endif
0546 # endif
0547
0548 # if !((defined printf && defined _GL_STDIO_H) || defined GNULIB_overrides_printf)
0549 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0550 extern int libintl_vprintf (const char *, va_list)
0551 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0)
0552 _INTL_ARG_NONNULL ((1));
0553 # ifndef __cplusplus
0554 static
0555 # endif
0556 inline
0557 _INTL_FORCE_INLINE
0558 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2) _INTL_ARG_NONNULL ((1))
0559 int printf (const char *__format, ...)
0560 {
0561 va_list __args;
0562 int __ret;
0563 va_start (__args, __format);
0564 __ret = libintl_vprintf (__format, __args);
0565 va_end (__args);
0566 return __ret;
0567 }
0568 # elif !defined _INTL_NO_DEFINE_MACRO_PRINTF
0569 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0570 # undef printf
0571 # if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
0572
0573
0574
0575
0576
0577
0578
0579
0580
0581 # define libintl_printf __printf__
0582 # endif
0583 # define printf libintl_printf
0584 # endif
0585 extern int printf (const char *, ...)
0586 _INTL_ASM (libintl_printf)
0587 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 2)
0588 _INTL_ARG_NONNULL ((1));
0589 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0590 namespace std { using ::libintl_printf; }
0591 # endif
0592 # endif
0593 # endif
0594 # if !((defined vprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vprintf)
0595 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0596 extern int libintl_vprintf (const char *, va_list)
0597 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0)
0598 _INTL_ARG_NONNULL ((1));
0599 # ifndef __cplusplus
0600 static
0601 # endif
0602 inline
0603 _INTL_FORCE_INLINE
0604 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0) _INTL_ARG_NONNULL ((1))
0605 int vprintf (const char *__format, va_list __args)
0606 {
0607 return libintl_vprintf (__format, __args);
0608 }
0609 # elif !defined _INTL_NO_DEFINE_MACRO_VPRINTF
0610 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0611 # undef vprintf
0612 # define vprintf libintl_vprintf
0613 # endif
0614 extern int vprintf (const char *, va_list)
0615 _INTL_ASM (libintl_vprintf)
0616 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (1, 0)
0617 _INTL_ARG_NONNULL ((1));
0618 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0619 namespace std { using ::libintl_vprintf; }
0620 # endif
0621 # endif
0622 # endif
0623
0624 # if !((defined sprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_sprintf)
0625 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0626 extern int libintl_vsprintf (char *, const char *, va_list)
0627 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0628 _INTL_ARG_NONNULL ((1, 2));
0629 # ifndef __cplusplus
0630 static
0631 # endif
0632 inline
0633 _INTL_FORCE_INLINE
0634 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _INTL_ARG_NONNULL ((1, 2))
0635 int sprintf (char *__result, const char *__format, ...)
0636 {
0637 va_list __args;
0638 int __ret;
0639 va_start (__args, __format);
0640 __ret = libintl_vsprintf (__result, __format, __args);
0641 va_end (__args);
0642 return __ret;
0643 }
0644 # elif !defined _INTL_NO_DEFINE_MACRO_SPRINTF
0645 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0646 # undef sprintf
0647 # define sprintf libintl_sprintf
0648 # endif
0649 extern int sprintf (char *, const char *, ...)
0650 _INTL_ASM (libintl_sprintf)
0651 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
0652 _INTL_ARG_NONNULL ((1, 2));
0653 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0654 namespace std { using ::libintl_sprintf; }
0655 # endif
0656 # endif
0657 # endif
0658 # if !((defined vsprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vsprintf)
0659 # if defined _INTL_REDIRECT_INLINE && !(defined __MINGW32__ || defined _MSC_VER)
0660 extern int libintl_vsprintf (char *, const char *, va_list)
0661 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0662 _INTL_ARG_NONNULL ((1, 2));
0663 # ifndef __cplusplus
0664 static
0665 # endif
0666 inline
0667 _INTL_FORCE_INLINE
0668 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _INTL_ARG_NONNULL ((1, 2))
0669 int vsprintf (char *__result, const char *__format, va_list __args)
0670 {
0671 return libintl_vsprintf (__result, __format, __args);
0672 }
0673 # elif !defined _INTL_NO_DEFINE_MACRO_VSPRINTF
0674 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER
0675 # undef vsprintf
0676 # define vsprintf libintl_vsprintf
0677 # endif
0678 extern int vsprintf (char *, const char *, va_list)
0679 _INTL_ASM (libintl_vsprintf)
0680 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0681 _INTL_ARG_NONNULL ((1, 2));
0682 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__ || defined _MSC_VER) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0683 namespace std { using ::libintl_vsprintf; }
0684 # endif
0685 # endif
0686 # endif
0687
0688 # if 1
0689
0690 # if !((defined snprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_snprintf)
0691 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0692 extern int libintl_vsnprintf (char *, size_t, const char *, va_list)
0693 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0)
0694 _INTL_ARG_NONNULL ((3));
0695 # ifndef __cplusplus
0696 static
0697 # endif
0698 inline
0699 _INTL_FORCE_INLINE
0700 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4) _INTL_ARG_NONNULL ((3))
0701 int snprintf (char *__result, size_t __maxlen, const char *__format, ...)
0702 {
0703 va_list __args;
0704 int __ret;
0705 va_start (__args, __format);
0706 __ret = libintl_vsnprintf (__result, __maxlen, __format, __args);
0707 va_end (__args);
0708 return __ret;
0709 }
0710 # elif !defined _INTL_NO_DEFINE_MACRO_SNPRINTF
0711 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0712 # undef snprintf
0713 # define snprintf libintl_snprintf
0714 # endif
0715 extern int snprintf (char *, size_t, const char *, ...)
0716 _INTL_ASM (libintl_snprintf)
0717 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 4)
0718 _INTL_ARG_NONNULL ((3));
0719 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0720 namespace std { using ::libintl_snprintf; }
0721 # endif
0722 # endif
0723 # endif
0724 # if !((defined vsnprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vsnprintf)
0725 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0726 extern int libintl_vsnprintf (char *, size_t, const char *, va_list)
0727 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0)
0728 _INTL_ARG_NONNULL ((3));
0729 # ifndef __cplusplus
0730 static
0731 # endif
0732 inline
0733 _INTL_FORCE_INLINE
0734 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0) _INTL_ARG_NONNULL ((3))
0735 int vsnprintf (char *__result, size_t __maxlen, const char *__format, va_list __args)
0736 {
0737 return libintl_vsnprintf (__result, __maxlen, __format, __args);
0738 }
0739 # elif !defined _INTL_NO_DEFINE_MACRO_VSNPRINTF
0740 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0741 # undef vsnprintf
0742 # define vsnprintf libintl_vsnprintf
0743 # endif
0744 extern int vsnprintf (char *, size_t, const char *, va_list)
0745 _INTL_ASM (libintl_vsnprintf)
0746 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (3, 0)
0747 _INTL_ARG_NONNULL ((3));
0748 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0749 namespace std { using ::libintl_vsnprintf; }
0750 # endif
0751 # endif
0752 # endif
0753
0754 # endif
0755
0756 # if 1
0757
0758 # if !((defined asprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_asprintf)
0759 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0760 extern int libintl_vasprintf (char **, const char *, va_list)
0761 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0762 _INTL_ARG_NONNULL ((1, 2));
0763 # ifndef __cplusplus
0764 static
0765 # endif
0766 inline
0767 _INTL_FORCE_INLINE
0768 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3) _INTL_ARG_NONNULL ((1, 2))
0769 int asprintf (char **__result, const char *__format, ...)
0770 {
0771 va_list __args;
0772 int __ret;
0773 va_start (__args, __format);
0774 __ret = libintl_vasprintf (__result, __format, __args);
0775 va_end (__args);
0776 return __ret;
0777 }
0778 # elif !defined _INTL_NO_DEFINE_MACRO_ASPRINTF
0779 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0780 # undef asprintf
0781 # define asprintf libintl_asprintf
0782 # endif
0783 extern int asprintf (char **, const char *, ...)
0784 _INTL_ASM (libintl_asprintf)
0785 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 3)
0786 _INTL_ARG_NONNULL ((1, 2));
0787 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0788 namespace std { using ::libintl_asprintf; }
0789 # endif
0790 # endif
0791 # endif
0792 # if !((defined vasprintf && defined _GL_STDIO_H) || defined GNULIB_overrides_vasprintf)
0793 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0794 extern int libintl_vasprintf (char **, const char *, va_list)
0795 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0796 _INTL_ARG_NONNULL ((1, 2));
0797 # ifndef __cplusplus
0798 static
0799 # endif
0800 inline
0801 _INTL_FORCE_INLINE
0802 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0) _INTL_ARG_NONNULL ((1, 2))
0803 int vasprintf (char **__result, const char *__format, va_list __args)
0804 {
0805 return libintl_vasprintf (__result, __format, __args);
0806 }
0807 # elif !defined _INTL_NO_DEFINE_MACRO_VASPRINTF
0808 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0809 # undef vasprintf
0810 # define vasprintf libintl_vasprintf
0811 # endif
0812 extern int vasprintf (char **, const char *, va_list)
0813 _INTL_ASM (libintl_vasprintf)
0814 _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD (2, 0)
0815 _INTL_ARG_NONNULL ((1, 2));
0816 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0817 namespace std { using ::libintl_vasprintf; }
0818 # endif
0819 # endif
0820 # endif
0821
0822 # endif
0823
0824 # if 1
0825
0826 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0827 extern int libintl_vfwprintf (FILE *, const wchar_t *, va_list)
0828 _INTL_ARG_NONNULL ((1, 2));
0829 # ifndef __cplusplus
0830 static
0831 # endif
0832 inline
0833 _INTL_FORCE_INLINE
0834 _INTL_ARG_NONNULL ((1, 2))
0835 int fwprintf (FILE *__stream, const wchar_t *__format, ...)
0836 {
0837 va_list __args;
0838 int __ret;
0839 va_start (__args, __format);
0840 __ret = libintl_vfwprintf (__stream, __format, __args);
0841 va_end (__args);
0842 return __ret;
0843 }
0844 # elif !defined _INTL_NO_DEFINE_MACRO_FWPRINTF
0845 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0846 # undef fwprintf
0847 # define fwprintf libintl_fwprintf
0848 # endif
0849 extern int fwprintf (FILE *, const wchar_t *, ...)
0850 _INTL_ASM (libintl_fwprintf)
0851 _INTL_ARG_NONNULL ((1, 2));
0852 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0853 namespace std { using ::libintl_fwprintf; }
0854 # endif
0855 # endif
0856 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0857 extern int libintl_vfwprintf (FILE *, const wchar_t *, va_list)
0858 _INTL_ARG_NONNULL ((1, 2));
0859 # ifndef __cplusplus
0860 static
0861 # endif
0862 inline
0863 _INTL_FORCE_INLINE
0864 _INTL_ARG_NONNULL ((1, 2))
0865 int vfwprintf (FILE *__stream, const wchar_t *__format, va_list __args)
0866 {
0867 return libintl_vfwprintf (__stream, __format, __args);
0868 }
0869 # elif !defined _INTL_NO_DEFINE_MACRO_VFWPRINTF
0870 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0871 # undef vfwprintf
0872 # define vfwprintf libintl_vfwprintf
0873 # endif
0874 extern int vfwprintf (FILE *, const wchar_t *, va_list)
0875 _INTL_ASM (libintl_vfwprintf)
0876 _INTL_ARG_NONNULL ((1, 2));
0877 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0878 namespace std { using ::libintl_vfwprintf; }
0879 # endif
0880 # endif
0881
0882 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0883 extern int libintl_vwprintf (const wchar_t *, va_list)
0884 _INTL_ARG_NONNULL ((1));
0885 # ifndef __cplusplus
0886 static
0887 # endif
0888 inline
0889 _INTL_FORCE_INLINE
0890 _INTL_ARG_NONNULL ((1))
0891 int wprintf (const wchar_t *__format, ...)
0892 {
0893 va_list __args;
0894 int __ret;
0895 va_start (__args, __format);
0896 __ret = libintl_vwprintf (__format, __args);
0897 va_end (__args);
0898 return __ret;
0899 }
0900 # elif !defined _INTL_NO_DEFINE_MACRO_WPRINTF
0901 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0902 # undef wprintf
0903 # define wprintf libintl_wprintf
0904 # endif
0905 extern int wprintf (const wchar_t *, ...)
0906 _INTL_ASM (libintl_wprintf)
0907 _INTL_ARG_NONNULL ((1));
0908 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0909 namespace std { using ::libintl_wprintf; }
0910 # endif
0911 # endif
0912 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0913 extern int libintl_vwprintf (const wchar_t *, va_list)
0914 _INTL_ARG_NONNULL ((1));
0915 # ifndef __cplusplus
0916 static
0917 # endif
0918 inline
0919 _INTL_FORCE_INLINE
0920 _INTL_ARG_NONNULL ((1))
0921 int vwprintf (const wchar_t *__format, va_list __args)
0922 {
0923 return libintl_vwprintf (__format, __args);
0924 }
0925 # elif !defined _INTL_NO_DEFINE_MACRO_VWPRINTF
0926 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0927 # undef vwprintf
0928 # define vwprintf libintl_vwprintf
0929 # endif
0930 extern int vwprintf (const wchar_t *, va_list)
0931 _INTL_ASM (libintl_vwprintf)
0932 _INTL_ARG_NONNULL ((1));
0933 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0934 namespace std { using ::libintl_vwprintf; }
0935 # endif
0936 # endif
0937
0938 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0939 extern int libintl_vswprintf (wchar_t *, size_t, const wchar_t *, va_list)
0940 _INTL_ARG_NONNULL ((1, 3));
0941 # ifndef __cplusplus
0942 static
0943 # endif
0944 inline
0945 _INTL_FORCE_INLINE
0946 _INTL_ARG_NONNULL ((1, 3))
0947 int swprintf (wchar_t *__result, size_t __maxlen, const wchar_t * __format, ...)
0948 {
0949 va_list __args;
0950 int __ret;
0951 va_start (__args, __format);
0952 __ret = libintl_vswprintf (__result, __maxlen, __format, __args);
0953 va_end (__args);
0954 return __ret;
0955 }
0956 # elif !defined _INTL_NO_DEFINE_MACRO_SWPRINTF
0957 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0958 # undef swprintf
0959 # define swprintf libintl_swprintf
0960 # endif
0961 extern int swprintf (wchar_t *, size_t, const wchar_t *, ...)
0962 _INTL_ASM (libintl_swprintf)
0963 _INTL_ARG_NONNULL ((1, 3));
0964 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0965 namespace std { using ::libintl_swprintf; }
0966 # endif
0967 # endif
0968 # if defined _INTL_REDIRECT_INLINE && !defined __MINGW32__
0969 extern int libintl_vswprintf (wchar_t *, size_t, const wchar_t *, va_list)
0970 _INTL_ARG_NONNULL ((1, 3));
0971 # ifndef __cplusplus
0972 static
0973 # endif
0974 inline
0975 _INTL_FORCE_INLINE
0976 _INTL_ARG_NONNULL ((1, 3))
0977 int vswprintf (wchar_t *__result, size_t __maxlen, const wchar_t *__format, va_list __args)
0978 {
0979 return libintl_vswprintf (__result, __maxlen, __format, __args);
0980 }
0981 # elif !defined _INTL_NO_DEFINE_MACRO_VSWPRINTF
0982 # if defined _INTL_REDIRECT_MACROS || defined __MINGW32__
0983 # undef vswprintf
0984 # define vswprintf libintl_vswprintf
0985 # endif
0986 extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list)
0987 _INTL_ASM (libintl_vswprintf)
0988 _INTL_ARG_NONNULL ((1, 3));
0989 # if (defined _INTL_REDIRECT_MACROS || defined __MINGW32__) && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
0990 namespace std { using ::libintl_vswprintf; }
0991 # endif
0992 # endif
0993
0994 # endif
0995
0996 #endif
0997
0998
0999
1000 #if 0
1001
1002 # ifndef GNULIB_defined_newlocale
1003 # ifdef _INTL_REDIRECT_INLINE
1004 extern locale_t libintl_newlocale (int, const char *, locale_t);
1005 # ifndef __cplusplus
1006 static
1007 # endif
1008 inline
1009 _INTL_FORCE_INLINE
1010 locale_t newlocale (int __category_mask, const char *__name, locale_t __base)
1011 {
1012 return libintl_newlocale (__category_mask, __name, __base);
1013 }
1014 # elif !defined _INTL_NO_DEFINE_MACRO_NEWLOCALE
1015 # ifdef _INTL_REDIRECT_MACROS
1016 # undef newlocale
1017 # define newlocale libintl_newlocale
1018 # endif
1019 extern locale_t newlocale (int, const char *, locale_t)
1020 _INTL_ASM (libintl_newlocale);
1021 # if defined _INTL_REDIRECT_MACROS && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
1022 namespace std { using ::libintl_newlocale; }
1023 # endif
1024 # endif
1025 # endif
1026
1027 # ifndef GNULIB_defined_duplocale
1028 # ifdef _INTL_REDIRECT_INLINE
1029 extern locale_t libintl_duplocale (locale_t);
1030 # ifndef __cplusplus
1031 static
1032 # endif
1033 inline
1034 _INTL_FORCE_INLINE
1035 locale_t duplocale (locale_t __locale)
1036 {
1037 return libintl_duplocale (__locale);
1038 }
1039 # elif !defined _INTL_NO_DEFINE_MACRO_DUPLOCALE
1040 # ifdef _INTL_REDIRECT_MACROS
1041 # undef duplocale
1042 # define duplocale libintl_duplocale
1043 # endif
1044 extern locale_t duplocale (locale_t)
1045 _INTL_ASM (libintl_duplocale);
1046 # if defined _INTL_REDIRECT_MACROS && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
1047 namespace std { using ::libintl_duplocale; }
1048 # endif
1049 # endif
1050 # endif
1051
1052 # ifndef GNULIB_defined_freelocale
1053 # ifdef _INTL_REDIRECT_INLINE
1054 extern void libintl_freelocale (locale_t);
1055 # ifndef __cplusplus
1056 static
1057 # endif
1058 inline
1059 _INTL_FORCE_INLINE
1060 void freelocale (locale_t __locale)
1061 {
1062 libintl_freelocale (__locale);
1063 }
1064 # elif !defined _INTL_NO_DEFINE_MACRO_FREELOCALE
1065 # ifdef _INTL_REDIRECT_MACROS
1066 # undef freelocale
1067 # define freelocale libintl_freelocale
1068 # endif
1069 extern void freelocale (locale_t)
1070 _INTL_ASM (libintl_freelocale);
1071 # if defined _INTL_REDIRECT_MACROS && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
1072 namespace std { using ::libintl_freelocale; }
1073 # endif
1074 # endif
1075 # endif
1076
1077 #endif
1078
1079
1080
1081 #if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __CYGWIN__
1082
1083 # ifndef GNULIB_defined_setlocale
1084 # ifdef _INTL_REDIRECT_INLINE
1085 extern char *libintl_setlocale (int, const char *);
1086 # ifndef __cplusplus
1087 static
1088 # endif
1089 inline
1090 _INTL_FORCE_INLINE
1091 char *setlocale (int __category, const char *__locale)
1092 {
1093 return libintl_setlocale (__category, __locale);
1094 }
1095 # elif !defined _INTL_NO_DEFINE_MACRO_SETLOCALE
1096 # ifdef _INTL_REDIRECT_MACROS
1097 # undef setlocale
1098 # define setlocale libintl_setlocale
1099 # endif
1100 extern char *setlocale (int, const char *)
1101 _INTL_ASM (libintl_setlocale);
1102 # if defined _INTL_REDIRECT_MACROS && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
1103 namespace std { using ::libintl_setlocale; }
1104 # endif
1105 # endif
1106 # endif
1107
1108 # if 1
1109
1110
1111 # if !(defined __CYGWIN__ && !defined LC_ALL_MASK)
1112 # ifdef _INTL_REDIRECT_INLINE
1113 extern locale_t libintl_newlocale (int, const char *, locale_t);
1114 # ifndef __cplusplus
1115 static
1116 # endif
1117 inline
1118 _INTL_FORCE_INLINE
1119 locale_t newlocale (int __category_mask, const char *__name, locale_t __base)
1120 {
1121 return libintl_newlocale (__category_mask, __name, __base);
1122 }
1123 # elif !defined _INTL_NO_DEFINE_MACRO_NEWLOCALE
1124 # ifdef _INTL_REDIRECT_MACROS
1125 # undef newlocale
1126 # define newlocale libintl_newlocale
1127 # endif
1128 extern locale_t newlocale (int, const char *, locale_t)
1129 _INTL_ASM (libintl_newlocale);
1130 # if defined _INTL_REDIRECT_MACROS && defined __cplusplus && !defined _INTL_CXX_NO_CLOBBER_STD_NAMESPACE
1131 namespace std { using ::libintl_newlocale; }
1132 # endif
1133 # endif
1134 # endif
1135
1136 # endif
1137
1138 #endif
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148 #define libintl_set_relocation_prefix libintl_set_relocation_prefix
1149 extern void
1150 libintl_set_relocation_prefix (const char *orig_prefix,
1151 const char *curr_prefix);
1152
1153
1154 #ifdef __cplusplus
1155 }
1156 #endif
1157
1158 #endif