diff options
author | Andrew Haley <aph@redhat.com> | 2004-06-14 14:34:21 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2004-06-14 14:34:21 +0000 |
commit | df94fa14b99a0911478d84280f95aa35482172e9 (patch) | |
tree | f2966e59c9f3c09ec6484a7f905e07de8c1416ae /libjava/java/lang/natSystem.cc | |
parent | 50431bc4280a683141da4c51375ef07636083b7b (diff) | |
download | gcc-df94fa14b99a0911478d84280f95aa35482172e9.zip gcc-df94fa14b99a0911478d84280f95aa35482172e9.tar.gz gcc-df94fa14b99a0911478d84280f95aa35482172e9.tar.bz2 |
System.java: (getenv0): New method.
2004-06-14 Andrew Haley <aph@redhat.com>
* java/lang/System.java: (getenv0): New method.
(getenv): Add security check. Do the right thing.
* java/lang/natSystem.cc (getenv0): New method.
From-SVN: r83107
Diffstat (limited to 'libjava/java/lang/natSystem.cc')
-rw-r--r-- | libjava/java/lang/natSystem.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc index 4a08bb1..ffb26a3 100644 --- a/libjava/java/lang/natSystem.cc +++ b/libjava/java/lang/natSystem.cc @@ -142,3 +142,16 @@ java::lang::System::isWordsBigEndian (void) u.lval = 1; return u.cval == 0; } + +jstring +java::lang::System::getenv0 (jstring name) +{ + jint len = _Jv_GetStringUTFLength (name); + char buf[len + 1]; + jsize total = JvGetStringUTFRegion (name, 0, name->length(), buf); + buf[total] = '\0'; + const char *value = ::getenv (buf); + if (value == NULL) + return NULL; + return JvNewStringLatin1 (value); +} |