Fix build errors with -DNDEBUG.
[glibc.git] / include / libintl.h
blob0551a04084b4ebb4358dddd4eb0533e9c5a290ad
1 #ifndef _LIBINTL_H
2 #include <intl/libintl.h>
3 #include <locale.h>
5 /* Now define the internal interfaces. */
6 extern char *__gettext (const char *__msgid)
7 __attribute_format_arg__ (1);
8 extern char *__dgettext (const char *__domainname,
9 const char *__msgid)
10 __attribute_format_arg__ (2);
11 extern char *__dcgettext (const char *__domainname,
12 const char *__msgid, int __category)
13 __attribute_format_arg__ (2);
14 libc_hidden_proto (__dcgettext)
16 extern char *__ngettext (const char *__msgid1, const char *__msgid2,
17 unsigned long int __n)
18 __attribute_format_arg__ (1) __attribute_format_arg__ (2);
19 extern char *__dngettext (const char *__domainname,
20 const char *__msgid1, const char *__msgid2,
21 unsigned long int __n)
22 __attribute_format_arg__ (2) __attribute_format_arg__ (3);
23 extern char *__dcngettext (const char *__domainname,
24 const char *__msgid1, const char *__msgid2,
25 unsigned long int __n, int __category)
26 __attribute_format_arg__ (2) __attribute_format_arg__ (3);
28 extern char *__textdomain (const char *__domainname);
29 extern char *__bindtextdomain (const char *__domainname,
30 const char *__dirname);
31 extern char *__bind_textdomain_codeset (const char *__domainname,
32 const char *__codeset);
34 extern const char _libc_intl_domainname[];
35 libc_hidden_proto (_libc_intl_domainname)
37 /* Define the macros `_' and `N_' for conveniently marking translatable
38 strings in the libc source code. We have to make sure we get the
39 correct definitions so we undefine the macros first. */
41 # undef N_
42 # define N_(msgid) msgid
44 # undef _
45 /* This is defined as an optimizing macro, so use it. */
46 # define _(msgid) \
47 __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES)
49 #endif