Leave the locale setting to applications
https://bugs.freedesktop.org/show_bug.cgi?id=105492
This commit is contained in:
parent
fb7be6d605
commit
98eaef69af
|
@ -38,6 +38,7 @@
|
|||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <locale.h>
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
#include <libintl.h>
|
||||
|
@ -102,6 +103,7 @@ main (int argc, char **argv)
|
|||
#if HAVE_GETOPT_LONG || HAVE_GETOPT
|
||||
int c;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
#if HAVE_GETOPT_LONG
|
||||
while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1)
|
||||
#else
|
||||
|
|
22
src/fccfg.c
22
src/fccfg.c
|
@ -26,7 +26,6 @@
|
|||
|
||||
#include "fcint.h"
|
||||
#include <dirent.h>
|
||||
#include <locale.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if defined (_WIN32) && !defined (R_OK)
|
||||
|
@ -39,24 +38,7 @@ static FcConfig *
|
|||
FcConfigEnsure (void)
|
||||
{
|
||||
FcConfig *config;
|
||||
FcBool is_locale_initialized;
|
||||
static void *static_is_locale_initialized;
|
||||
retry_locale:
|
||||
is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
|
||||
if (!is_locale_initialized)
|
||||
{
|
||||
char *loc;
|
||||
|
||||
is_locale_initialized = FcTrue;
|
||||
if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
|
||||
(void *)(intptr_t) is_locale_initialized))
|
||||
goto retry_locale;
|
||||
|
||||
loc = setlocale (LC_ALL, NULL);
|
||||
if (!loc || strcmp (loc, "C") == 0)
|
||||
setlocale (LC_ALL, "");
|
||||
}
|
||||
retry_config:
|
||||
retry:
|
||||
config = fc_atomic_ptr_get (&_fcConfig);
|
||||
if (!config)
|
||||
{
|
||||
|
@ -64,7 +46,7 @@ retry_config:
|
|||
|
||||
if (!fc_atomic_ptr_cmpexch (&_fcConfig, NULL, config)) {
|
||||
FcConfigDestroy (config);
|
||||
goto retry_config;
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
return config;
|
||||
|
|
Loading…
Reference in New Issue