From 09f858d25dca271b38b69fd965d6043d8ba0b50f Mon Sep 17 00:00:00 2001 From: stsp <> Date: Sat, 1 Jun 2013 21:26:18 +0000 Subject: [PATCH] Fix catopen(3) for UTF-8 locales and update the implementation to POSIX-2008. Catalogs had an arbitrary character set which was used regardless of locale. Add UTF-8-encoded catalogs for libc error messages, and rename existing ones to indicate their character sets. catopen(3) now chooses a catalog which matches the locale's encoding, if available. help & ok matthew, man page bits ok jmc, input from naddy and bluhm --- src/lib/libc/string/strerror_r.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/libc/string/strerror_r.c b/src/lib/libc/string/strerror_r.c index aa63408a..b8513605 100644 --- a/src/lib/libc/string/strerror_r.c +++ b/src/lib/libc/string/strerror_r.c @@ -1,4 +1,4 @@ -/* $OpenBSD: strerror_r.c,v 1.7 2007/03/01 16:29:09 bluhm Exp $ */ +/* $OpenBSD: strerror_r.c,v 1.8 2013/06/01 21:26:18 stsp Exp $ */ /* Public Domain */ #ifdef NLS @@ -75,7 +75,7 @@ __num2string(int num, int sign, int setid, char *buf, size_t buflen, #ifdef NLS nl_catd catd; - catd = catopen("libc", 0); + catd = catopen("libc", NL_CAT_LOCALE); #endif if (0 <= num && num < max) {