diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-02-23 16:34:22 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-02-23 16:34:22 +0000 |
commit | ff9018923ecb49c022455ea9ceab4f8da11de073 (patch) | |
tree | d1e58c4908ceaf31f85bb54f1b2609e8403a2fc4 /sal | |
parent | 5305f0ec40e99889a4de4d7550f792ce8e53691d (diff) |
Likely workaround for busted environ on MacOSX
Diffstat (limited to 'sal')
-rw-r--r-- | sal/qa/osl/process/osl_process.cxx | 10 | ||||
-rw-r--r-- | sal/qa/osl/process/osl_process_child.cxx | 11 |
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); |