summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-02-23 16:34:22 +0000
committerCaolán McNamara <caolanm@redhat.com>2011-02-23 16:34:22 +0000
commitff9018923ecb49c022455ea9ceab4f8da11de073 (patch)
treed1e58c4908ceaf31f85bb54f1b2609e8403a2fc4 /sal
parent5305f0ec40e99889a4de4d7550f792ce8e53691d (diff)
Likely workaround for busted environ on MacOSX
Diffstat (limited to 'sal')
-rw-r--r--sal/qa/osl/process/osl_process.cxx10
-rw-r--r--sal/qa/osl/process/osl_process_child.cxx11
2 files changed, 18 insertions, 3 deletions
diff --git a/sal/qa/osl/process/osl_process.cxx b/sal/qa/osl/process/osl_process.cxx
index 333aae46a9a5..45616b2a044c 100644
--- a/sal/qa/osl/process/osl_process.cxx
+++ b/sal/qa/osl/process/osl_process.cxx
@@ -62,6 +62,15 @@
#include <iterator>
#include <string>
+#ifdef UNX
+#if defined( MACOSX )
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+# else
+ extern char** environ;
+# endif
+#endif
+
#if defined(WNT) || defined(OS2)
const rtl::OUString EXECUTABLE_NAME (RTL_CONSTASCII_USTRINGPARAM("osl_process_child.exe"));
#else
@@ -365,7 +374,6 @@ private:
FreeEnvironmentStrings(env);
}
#else
- extern char** environ;
void read_parent_environment(string_container_t* env_container)
{
for (int i = 0; NULL != environ[i]; i++)
diff --git a/sal/qa/osl/process/osl_process_child.cxx b/sal/qa/osl/process/osl_process_child.cxx
index bc34217dc880..066803edd801 100644
--- a/sal/qa/osl/process/osl_process_child.cxx
+++ b/sal/qa/osl/process/osl_process_child.cxx
@@ -52,6 +52,15 @@
#include <rtl/ustring.hxx>
+#ifdef UNX
+#if defined( MACOSX )
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+# else
+ extern char** environ;
+# endif
+#endif
+
//########################################
// defines
@@ -95,8 +104,6 @@ void w_to_a(LPCTSTR _strW, LPSTR strA, DWORD size)
FreeEnvironmentStrings(env);
}
#else
- extern char** environ;
-
void dump_env(char* file_path)
{
std::ofstream file(file_path);