From 464a57b31947ac68603819d439a0a4e3401ef6e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 22 Sep 2022 17:51:30 +0800 Subject: [PATCH] Locale: simply --- src/modules/locale.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/modules/locale.c b/src/modules/locale.c index 444ed5a11..1d1c27456 100644 --- a/src/modules/locale.c +++ b/src/modules/locale.c @@ -6,6 +6,7 @@ #include "common/parsing.h" #include +#include #define FF_LOCALE_MODULE_NAME "Locale" #define FF_LOCALE_NUM_FORMAT_ARGS 1 @@ -25,27 +26,11 @@ static void getLocaleFromEnv(FFstrbuf* locale) static void getLocaleFromCmd(FFstrbuf* locale) { - FFstrbuf buffer; - ffStrbufInitA(&buffer, 0); - char* args[] = { "locale", NULL }; - if(ffProcessAppendStdOut(&buffer, args) == NULL) - { - ffParsePropLines(buffer.chars, "LANG=\"", locale); - ffStrbufTrimRight(locale, '"'); + ffStrbufAppendS(locale, setlocale(LC_ALL, NULL)); + if(locale->length > 0) + return; - if(locale->length == 0) - { - ffParsePropLines(buffer.chars, "LC_ALL=\"", locale); - ffStrbufTrimRight(locale, '"'); - - if(locale->length == 0) - { - ffParsePropLines(buffer.chars, "LC_MESSAGES=\"", locale); - ffStrbufTrimRight(locale, '"'); - } - } - } - ffStrbufDestroy(&buffer); + ffStrbufAppendS(locale, setlocale(LC_MESSAGES, NULL)); } void ffPrintLocale(FFinstance* instance)