diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-09-19 14:08:28 +0200 |
---|---|---|
committer | Nikita Baryshnikov <nib952051@gmail.com> | 2017-10-19 14:56:54 +0000 |
commit | e8360c875d1f34481a314551e12f54bc23b2ed2d (patch) | |
tree | b86fb3f52b9269361eb32508c7d47ac83af474d0 | |
parent | a181c3e4d7edf40b386ee290cec0684b628310df (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.cpp | 7 |
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(); |