* lib/gettext.h (dcgettext, dcngettext): The category arg has type
int, not const char *. Problem found on Solaris 10 with Oracle
Solaris Studio 12.6.
---
 ChangeLog     | 7 +++++++
 lib/gettext.h | 5 ++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b9b20ed8c6..ab824f3143 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2026-05-09  Paul Eggert  <[email protected]>
+
+       gettext-h: fix recently-introduced category typos
+       * lib/gettext.h (dcgettext, dcngettext): The category arg has type
+       int, not const char *. Problem found on Solaris 10 with Oracle
+       Solaris Studio 12.6.
+
 2026-05-08  Paul Eggert  <[email protected]>
 
        u64: go back to casts for u64init
diff --git a/lib/gettext.h b/lib/gettext.h
index af84cbbf09..1ea5c9be78 100644
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -128,7 +128,7 @@ dcgettext (const char *domain, const char *msgid, int 
category)
      ((void) (const char *) {(Domainname)}, gettext (Msgid))
 #  undef dcgettext
 #  define dcgettext(Domainname, Msgid, Category) \
-     ((void) (const char *) {(Category)}, dgettext (Domainname, Msgid))
+     ((void) (int) {(Category)}, dgettext (Domainname, Msgid))
 # endif
 # undef ngettext
 # define ngettext(Msgid1, Msgid2, N) \
@@ -140,8 +140,7 @@ dcgettext (const char *domain, const char *msgid, int 
category)
     ((void) (const char *) {(Domainname)}, ngettext (Msgid1, Msgid2, N))
 # undef dcngettext
 # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
-    ((void) (const char *) {(Category)}, \
-     dngettext (Domainname, Msgid1, Msgid2, N))
+    ((void) (int) {(Category)}, dngettext (Domainname, Msgid1, Msgid2, N))
 # undef textdomain
 # define textdomain(Domainname) ((const char *) {(Domainname)})
 # undef bindtextdomain
-- 
2.51.0


Reply via email to