about summary refs log tree commit diff
path: root/include/libintl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libintl.h')
-rw-r--r--include/libintl.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/libintl.h b/include/libintl.h
index 8875c9444f..8f312f1042 100644
--- a/include/libintl.h
+++ b/include/libintl.h
@@ -11,7 +11,6 @@ extern char *__dgettext (__const char *__domainname,
 extern char *__dcgettext (__const char *__domainname,
 			  __const char *__msgid, int __category)
      __attribute_format_arg__ (2);
-libc_hidden_proto (__dcgettext)
 extern char *__dcgettext_internal (__const char *__domainname,
 				   __const char *__msgid, int __category)
      __attribute_format_arg__ (2)
@@ -42,7 +41,7 @@ extern char *__bind_textdomain_codeset (__const char *__domainname,
 					__const char *__codeset);
 
 extern const char _libc_intl_domainname[];
-libc_hidden_proto (_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
@@ -53,7 +52,12 @@ libc_hidden_proto (_libc_intl_domainname)
 
 # undef _
 /* This is defined as an optimizing macro, so use it.  */
-# define _(msgid) \
+# 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