diff options
author | Chris Burdess <dog@bluezoo.org> | 2004-12-21 16:17:06 +0000 |
---|---|---|
committer | Chris Burdess <dog@bluezoo.org> | 2004-12-21 16:17:06 +0000 |
commit | 8d68ea6b10e2ffbb1fa5ab2e30dc44ce1c9769ff (patch) | |
tree | a788cc09fbace821eea43292919562521c3d1a50 /native/jni/java-lang/java_lang_VMProcess.c | |
parent | d484e9b44b985b4794f3419fd1c7e98f428250e5 (diff) | |
download | classpath-8d68ea6b10e2ffbb1fa5ab2e30dc44ce1c9769ff.tar.gz |
004-12-21 Chris Burdess <dog@gnu.org>
* configure.ac: Check for presence of crt_externs.h on Darwin.
* native/jni/java-lang/java_lang_VMProcess.c: If HAVE_CRT_EXTERNS_H
is defined, define environ as calling _NSGetEnviron(), otherwise
define it as an external variable.
Diffstat (limited to 'native/jni/java-lang/java_lang_VMProcess.c')
-rw-r--r-- | native/jni/java-lang/java_lang_VMProcess.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/native/jni/java-lang/java_lang_VMProcess.c b/native/jni/java-lang/java_lang_VMProcess.c index 95921822b..5455c81ee 100644 --- a/native/jni/java-lang/java_lang_VMProcess.c +++ b/native/jni/java-lang/java_lang_VMProcess.c @@ -55,8 +55,16 @@ exception statement from your version. */ static char *copy_string(JNIEnv *env, jobject string); static char *copy_elem(JNIEnv *env, jobject stringArray, jint i); -/* Some O/S's don't declare this */ +/* Some O/S's don't declare 'environ' */ +#if HAVE_CRT_EXTERNS_H +/* Darwin does not have a variable named environ + but has a function which you can get the environ + variable with. */ +#include <crt_externs.h> +#define environ (*_NSGetEnviron()) +#else extern char **environ; +#endif /* HAVE_CRT_EXTERNS_H */ /* * Internal helper function to copy a String in UTF-8 format. |