From c7f405e95ba899ee23e7f16ddea2d21716f8d6a7 Mon Sep 17 00:00:00 2001 From: "ginn.chen%sun.com" Date: Tue, 28 Feb 2006 10:15:48 +0000 Subject: [PATCH] Bug 327502 use of setenv breaks solaris build r=benjamin sr=neil a=benjamin git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@191380 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/toolkit/xre/nsAppRunner.cpp | 10 ++++++---- mozilla/xpfe/bootstrap/nsAppRunner.cpp | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mozilla/toolkit/xre/nsAppRunner.cpp b/mozilla/toolkit/xre/nsAppRunner.cpp index a236f5dc8f2..8a49585b5f8 100644 --- a/mozilla/toolkit/xre/nsAppRunner.cpp +++ b/mozilla/toolkit/xre/nsAppRunner.cpp @@ -1878,12 +1878,14 @@ XRE_main(int argc, char* argv[], const nsXREAppData* aAppData) #ifdef MOZ_ACCESSIBILITY_ATK // Reset GTK_MODULES, strip atk-bridge if exists // Mozilla will load libatk-bridge.so later if necessary - const char* gtkModules = getenv("GTK_MODULES"); - if (gtkModules) { + const char* gtkModules = PR_GetEnv("GTK_MODULES"); + if (gtkModules && *gtkModules) { nsCString gtkModulesStr(gtkModules); gtkModulesStr.ReplaceSubstring("atk-bridge", ""); - char* newGtkModules = strdup(gtkModulesStr.get()); - setenv("GTK_MODULES", newGtkModules, 1); + char* expr = PR_smprintf("GTK_MODULES=%s", gtkModulesStr.get()); + if (expr) + PR_SetEnv(expr); + // We intentionally leak |expr| here since it is required by PR_SetEnv. } #endif diff --git a/mozilla/xpfe/bootstrap/nsAppRunner.cpp b/mozilla/xpfe/bootstrap/nsAppRunner.cpp index b0f496ba61a..ecafa7579b6 100644 --- a/mozilla/xpfe/bootstrap/nsAppRunner.cpp +++ b/mozilla/xpfe/bootstrap/nsAppRunner.cpp @@ -1573,12 +1573,14 @@ int main(int argc, char* argv[]) #ifdef MOZ_ACCESSIBILITY_ATK // Reset GTK_MODULES, strip atk-bridge if exists // Mozilla will load libatk-bridge.so later if necessary - const char* gtkModules = getenv("GTK_MODULES"); - if (gtkModules) { + const char* gtkModules = PR_GetEnv("GTK_MODULES"); + if (gtkModules && *gtkModules) { nsCString gtkModulesStr(gtkModules); gtkModulesStr.ReplaceSubstring("atk-bridge", ""); - char* newGtkModules = strdup(gtkModulesStr.get()); - setenv("GTK_MODULES", newGtkModules, 1); + char* expr = PR_smprintf("GTK_MODULES=%s", gtkModulesStr.get()); + if (expr) + PR_SetEnv(expr); + // We intentionally leak |expr| here since it is required by PR_SetEnv. } #endif