summaryrefslogtreecommitdiff
path: root/include/libintl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libintl.h')
-rw-r--r--include/libintl.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/libintl.h b/include/libintl.h
index dc54ccfc7b..a4d6148d8d 100644
--- a/include/libintl.h
+++ b/include/libintl.h
@@ -8,12 +8,16 @@ extern char *__dgettext (__const char *__domainname,
__const char *__msgid);
extern char *__dcgettext (__const char *__domainname,
__const char *__msgid, int __category);
+extern char *__dcgettext_internal (__const char *__domainname,
+ __const char *__msgid, int __category)
+ attribute_hidden;
extern char *__textdomain (__const char *__domainname);
extern char *__bindtextdomain (__const char *__domainname,
__const char *__dirname);
extern char *__bind_textdomain_codeset (__const char *__domainname,
__const char *__codeset);
extern const char _libc_intl_domainname[];
+extern const char _libc_intl_domainname_internal[] attribute_hidden;
/* Define the macros `_' and `N_' for conveniently marking translatable
strings in the libc source code. We have to make sure we get the
@@ -24,6 +28,12 @@ extern const char _libc_intl_domainname[];
# undef _
/* This is defined as an optimizing macro, so use it. */
-# define _(msgid) __dcgettext (_libc_intl_domainname, (msgid), LC_MESSAGES)
+# if !defined NOT_IN_LIBC && defined SHARED
+# define _(msgid) \
+ __dcgettext_internal (_libc_intl_domainname_internal, (msgid), LC_MESSAGES)
+# else
+# define _(msgid) \
+ __dcgettext (_libc_intl_domainname, (msgid), LC_MESSAGES)
+#endif
#endif