aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-09-19 14:08:28 +0200
committerNikita Baryshnikov <nib952051@gmail.com>2017-10-19 14:56:54 +0000
commite8360c875d1f34481a314551e12f54bc23b2ed2d (patch)
treeb86fb3f52b9269361eb32508c7d47ac83af474d0
parenta181c3e4d7edf40b386ee290cec0684b628310df (diff)
Environment: set LANGUAGE variable both with LC_MESSAGES
As LANGUAGE takes precedence on LC_MESSAGES variable sometimes If LANG is not set to C now en locale really should be used for messages by gcc. This fixes parsing of gcc header paths and error messages on non- english locales Change-Id: I96db16b555b8ff22b041b6e965558b342ef1a378 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/libs/utils/environment.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp
index fd49115aee..12958108e4 100644
--- a/src/libs/utils/environment.cpp
+++ b/src/libs/utils/environment.cpp
@@ -338,20 +338,27 @@ Environment Environment::systemEnvironment()
}
const char lcMessages[] = "LC_MESSAGES";
+const char language[] = "LANGUAGE";
const char englishLocale[] = "en_US.utf8";
+const char languageEnglishLocales[] = "en_US:en";
void Environment::setupEnglishOutput(Environment *environment)
{
+ QTC_ASSERT(environment, return);
environment->set(lcMessages, englishLocale);
+ environment->set(language, languageEnglishLocales);
}
void Environment::setupEnglishOutput(QProcessEnvironment *environment)
{
+ QTC_ASSERT(environment, return);
environment->insert(lcMessages, englishLocale);
+ environment->insert(language, languageEnglishLocales);
}
void Environment::setupEnglishOutput(QStringList *environment)
{
+ QTC_ASSERT(environment, return);
Environment env(*environment);
setupEnglishOutput(&env);
*environment = env.toStringList();