Imported GNU Classpath 0.90
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.
* sources.am: Regenerated.
* gcj/javaprims.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gnu/java/lang/VMInstrumentationImpl.java: New override.
* gnu/java/net/local/LocalSocketImpl.java: Likewise.
* gnu/classpath/jdwp/VMMethod.java: Likewise.
* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
interface.
* java/lang/Thread.java: Add UncaughtExceptionHandler.
* java/lang/reflect/Method.java: Implements GenericDeclaration and
isSynthetic(),
* java/lang/reflect/Field.java: Likewise.
* java/lang/reflect/Constructor.java
* java/lang/Class.java: Implements Type, GenericDeclaration,
getSimpleName() and getEnclosing*() methods.
* java/lang/Class.h: Add new public methods.
* java/lang/Math.java: Add signum(), ulp() and log10().
* java/lang/natMath.cc (log10): New function.
* java/security/VMSecureRandom.java: New override.
* java/util/logging/Logger.java: Updated to latest classpath
version.
* java/util/logging/LogManager.java: New override.
From-SVN: r113887
This commit is contained in:
@@ -154,3 +154,35 @@ Java_java_lang_VMSystem_getenv (JNIEnv * env,
|
||||
JCL_free_cstring (env, jname, cname);
|
||||
return (*env)->NewStringUTF (env, envname);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_java_lang_VMSystem_environ (JNIEnv *env,
|
||||
jclass klass __attribute__((__unused__)))
|
||||
{
|
||||
char **env_pointer;
|
||||
jobject variables;
|
||||
jclass list_class;
|
||||
jmethodID list_constructor;
|
||||
jmethodID add;
|
||||
|
||||
list_class = (*env)->FindClass(env, "java/util/LinkedList");
|
||||
if (list_class == NULL)
|
||||
return NULL;
|
||||
list_constructor = (*env)->GetMethodID(env, list_class, "<init>", "()V");
|
||||
if (list_constructor == NULL)
|
||||
return NULL;
|
||||
variables = (*env)->NewObject(env, list_class, list_constructor);
|
||||
if (variables == NULL)
|
||||
return NULL;
|
||||
add = (*env)->GetMethodID(env, list_class, "add", "(Ljava/lang/Object;)Z");
|
||||
if (add == NULL)
|
||||
return NULL;
|
||||
env_pointer = environ;
|
||||
while (*env_pointer != NULL)
|
||||
{
|
||||
jstring string = (*env)->NewStringUTF(env, *env_pointer);
|
||||
(*env)->CallBooleanMethod(env, variables, add, string);
|
||||
++env_pointer;
|
||||
}
|
||||
return variables;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user