/*
- * Copyright (c) 2011 Todd C. Miller <Todd.Miller@courtesan.com>
+ * Copyright (c) 2011-2012 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* Solaris locale.h includes libintl.h which causes problems when we
* redefine the gettext functions. We include it first to avoid this.
*/
-#if defined(HAVE_LOCALE_H) && defined(__sun__) && defined(__svr4__)
-# include <locale.h>
-#endif
+#include <locale.h>
#ifdef HAVE_LIBINTL_H
dngettext(DEFAULT_TEXT_DOMAIN, String, String_Plural, N)
# endif
+/*
+ * Older versions of Solaris lack ngettext() so we have to kludge it.
+ */
+# ifndef HAVE_NGETTEXT
+# undef ngettext
+# define ngettext(String, String_Plural, N) \
+ ((N) == 1 ? gettext(String) : gettext(String_Plural))
+# endif
+
/* Gettext convenience macros */
# define _(String) gettext(String)
# define gettext_noop(String) String