You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ar...@apache.org on 2006/06/10 20:09:01 UTC
svn commit: r413341 - in /incubator/harmony/enhanced/classlibadapter/trunk:
modules/kernel/src/main/java/java/lang/System.java vmi/vmi.cpp
Author: archie
Date: Sat Jun 10 11:09:00 2006
New Revision: 413341
URL: http://svn.apache.org/viewvc?rev=413341&view=rev
Log:
Apply patch from HARMONY-569.
Modified:
incubator/harmony/enhanced/classlibadapter/trunk/modules/kernel/src/main/java/java/lang/System.java
incubator/harmony/enhanced/classlibadapter/trunk/vmi/vmi.cpp
Modified: incubator/harmony/enhanced/classlibadapter/trunk/modules/kernel/src/main/java/java/lang/System.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlibadapter/trunk/modules/kernel/src/main/java/java/lang/System.java?rev=413341&r1=413340&r2=413341&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlibadapter/trunk/modules/kernel/src/main/java/java/lang/System.java (original)
+++ incubator/harmony/enhanced/classlibadapter/trunk/modules/kernel/src/main/java/java/lang/System.java Sat Jun 10 11:09:00 2006
@@ -100,7 +100,7 @@
* the new value for out.
*/
public static void setOut(java.io.PrintStream newOut) {
- throw new RuntimeException("not implemented");
+ setPrintStream("out", newOut);
}
/**
@@ -111,8 +111,11 @@
* the new value for err.
*/
public static void setErr(java.io.PrintStream newErr) {
- throw new RuntimeException("not implemented");
+ setPrintStream("err", newErr);
}
+
+ private static native void setPrintStream(String field,
+ java.io.PrintStream stream);
/**
* Prevents this class from being instantiated.
Modified: incubator/harmony/enhanced/classlibadapter/trunk/vmi/vmi.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlibadapter/trunk/vmi/vmi.cpp?rev=413341&r1=413340&r2=413341&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlibadapter/trunk/vmi/vmi.cpp (original)
+++ incubator/harmony/enhanced/classlibadapter/trunk/vmi/vmi.cpp Sat Jun 10 11:09:00 2006
@@ -273,16 +273,38 @@
}
/*
- * * Class: java_lang_System
- * * Method: currentTimeMillis
- * * Signature: ()J
- * */
+ * Class: java_lang_System
+ * Method: currentTimeMillis
+ * Signature: ()J
+ */
JNIEXPORT jlong JNICALL Java_java_lang_System_currentTimeMillis
(JNIEnv *, jclass)
{
struct timeval tv;
gettimeofday(&tv, NULL);
return tv.tv_sec * (jlong)1000 + tv.tv_usec / 1000;
+ }
+
+ /*
+ * Class: java_lang_System
+ * Method: setPrintStream
+ * Signature: (Ljava/lang/String;Ljava/io/PrintStream;)V
+ */
+ JNIEXPORT void JNICALL Java_java_lang_System_setPrintStream
+ (JNIEnv *env, jclass c, jstring field, jobject stream)
+ {
+ jfieldID fid;
+ const char *field_name = env->GetStringUTFChars(field, 0);
+ if (!field_name) {
+ return;
+ }
+ fid = env->GetStaticFieldID(c, field_name, "Ljava/io/PrintStream;");
+ env->ReleaseStringUTFChars(field, field_name);
+ if (!fid) {
+ return;
+ }
+ env->SetStaticObjectField(c, fid, stream);
+ return;
}
JNIEXPORT void JNICALL Java_java_lang_VMThread_attach