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