summaryrefslogtreecommitdiff
path: root/lib/gettext.h
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2002-09-25 15:26:39 +0000
committerKarl Berry <karl@freefriends.org>2002-09-25 15:26:39 +0000
commit202d3af836610225b9b088b3f13678f860c72f56 (patch)
treebccbb556e9870f1c487b512a11912515184b1480 /lib/gettext.h
parentf39180e845366a099c33a9b4247d1e17db93b1cb (diff)
downloadgnulib-202d3af836610225b9b088b3f13678f860c72f56.tar.gz
update gettext.h from gettext.h
Diffstat (limited to 'lib/gettext.h')
-rw-r--r--lib/gettext.h40
1 files changed, 25 insertions, 15 deletions
diff --git a/lib/gettext.h b/lib/gettext.h
index babce049f1..8b262f4cfd 100644
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -17,35 +17,45 @@
USA. */
#ifndef _LIBGETTEXT_H
-# define _LIBGETTEXT_H 1
+#define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
-# if ENABLE_NLS
+#if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
-# include <libintl.h>
+# include <libintl.h>
-# else
+#else
+
+/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
+ chokes if dcgettext is defined as a macro. So include it now, to make
+ later inclusions of <locale.h> a NOP. We don't include <libintl.h>
+ as well because people using "gettext.h" will not include <libintl.h>,
+ and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
+ is OK. */
+#if defined(__sun)
+# include <locale.h>
+#endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
for invalid uses of the value returned from these functions.
On pre-ANSI systems without 'const', the config.h file is supposed to
contain "#define const". */
-# define gettext(Msgid) ((const char *) (Msgid))
-# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
-# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
-# define ngettext(Msgid1, Msgid2, N) \
+# define gettext(Msgid) ((const char *) (Msgid))
+# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
+# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
+# define ngettext(Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dngettext(Domainname, Msgid1, Msgid2, N) \
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define textdomain(Domainname) ((const char *) (Domainname))
-# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
-# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
+# define textdomain(Domainname) ((const char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
+# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
-# endif
+#endif
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
@@ -54,6 +64,6 @@
and other string expressions won't work.
The macro's expansion is not parenthesized, so that it is suitable as
initializer for static 'char[]' or 'const char[]' variables. */
-# define gettext_noop(String) String
+#define gettext_noop(String) String
#endif /* _LIBGETTEXT_H */