svn commit: r304755 - head/lib/libc/nls
Andrey A. Chernov
ache at FreeBSD.org
Wed Aug 24 16:44:28 UTC 2016
Author: ache
Date: Wed Aug 24 16:44:27 2016
New Revision: 304755
URL: https://svnweb.freebsd.org/changeset/base/304755
Log:
Use current locale (f.e. set by thread). It was global locale always
previously.
MFC after: 7 days
Modified:
head/lib/libc/nls/msgcat.c
Modified: head/lib/libc/nls/msgcat.c
==============================================================================
--- head/lib/libc/nls/msgcat.c Wed Aug 24 16:40:29 2016 (r304754)
+++ head/lib/libc/nls/msgcat.c Wed Aug 24 16:44:27 2016 (r304755)
@@ -47,7 +47,6 @@ __FBSDID("$FreeBSD$");
#include <errno.h>
#include <fcntl.h>
#include <limits.h>
-#include <locale.h>
#include <nl_types.h>
#include <pthread.h>
#include <stdio.h>
@@ -56,7 +55,7 @@ __FBSDID("$FreeBSD$");
#include <unistd.h>
#include "un-namespace.h"
-#include "../locale/setlocale.h" /* for ENCODING_LEN */
+#include "../locale/xlocale_private.h"
#define _DEFAULT_NLS_PATH "/usr/share/nls/%L/%N.cat:/usr/share/nls/%N/%L:/usr/local/share/nls/%L/%N.cat:/usr/local/share/nls/%N/%L"
@@ -115,9 +114,10 @@ catopen(const char *name, int type)
{
struct stat sbuf;
struct catentry *np;
- char *base, *cptr, *cptr1, *lang, *nlspath, *pathP, *pcode;
- char *plang, *pter, *tmpptr;
+ char *base, *cptr, *cptr1, *nlspath, *pathP, *pcode;
+ char *plang, *pter;
int saverr, spcleft;
+ const char *lang, *tmpptr;
char path[PATH_MAX];
/* sanity checking */
@@ -129,7 +129,7 @@ catopen(const char *name, int type)
lang = NULL;
else {
if (type == NL_CAT_LOCALE)
- lang = setlocale(LC_MESSAGES, NULL);
+ lang = querylocale(LC_MESSAGES_MASK, __get_locale());
else
lang = getenv("LANG");
More information about the svn-src-head
mailing list