From: Bernhard Urban Date: Mon, 30 Apr 2012 12:12:44 +0000 (+0200) Subject: PrintStream: reorganize `printf' and `println' X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=44fd0ff66ac64839146aeeb98fdaaa7a6c75626a;hp=5a5395a514b9e4509f141ee56751e3dd786bc99d;p=mate.git PrintStream: reorganize `printf' and `println' --- diff --git a/ffi/native.c b/ffi/native.c index 2972a18..25e0d1c 100644 --- a/ffi/native.c +++ b/ffi/native.c @@ -44,16 +44,17 @@ void java_io_PrintStream__printf___I_V(int a) printf("printstream: 0x%08x\n", a); } -void java_io_PrintStream__println___Ljava_lang_String__V(const char *a) -{ - printf("%s\n", a); -} - struct integer { unsigned int method_table_ptr; int value; }; +void java_io_PrintStream__printf_0___Ljava_lang_String__V + (const char *fmt) +{ + printf("%s", fmt); +} + void java_io_PrintStream__printf_1___Ljava_lang_String_Ljava_lang_Object__V (struct integer *a1, const char *fmt) { diff --git a/java/io/PrintStream.java b/java/io/PrintStream.java index 0e7dafd..ff36089 100644 --- a/java/io/PrintStream.java +++ b/java/io/PrintStream.java @@ -1,11 +1,17 @@ package java.io; public class PrintStream { + public void println(String a) { + // TODO: `a + "\n"' when StringBuilder is available + printf(a); + printf("\n"); + } + public PrintStream printf(String format, Object... args) { /* temporary workaround ;-) */ int len = args.length; if (len == 0) { - this.println(format); + this.printf_0(format); } else if (len == 1) { this.printf_1(format, args[0]); } else if (len == 2) { @@ -20,10 +26,10 @@ public class PrintStream { return this; } + public native void printf_0(String a); public native void printf_1(String a, Object b); public native void printf_2(String a, Object b, Object c); public native void printf_3(String a, Object b, Object c, Object d); public native void printf_4(String a, Object b, Object c, Object d, Object e); public native void printf_5(String a, Object b, Object c, Object d, Object e, Object f); - public native void println(String a); }