summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/natStringBuffer.cc
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-22 04:38:37 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-22 04:38:37 +0000
commit018c51122e27ba1917201542bc88a8e7b8a03996 (patch)
tree3fe6c5a88c43aaae750d120b81f91c5998141dd7 /libjava/java/lang/natStringBuffer.cc
parente4c782a134e6adc80f70ed963ef3add0c3b0a631 (diff)
downloadppe42-gcc-018c51122e27ba1917201542bc88a8e7b8a03996.tar.gz
ppe42-gcc-018c51122e27ba1917201542bc88a8e7b8a03996.zip
* gcj/javaprims.h (_Jv_FormatInt): New declaration.
* java/lang/natString.cc (_JvFormatInt): New primitive, with logic taken from old Integer.toString code. (Integer::valueOf): Use _Jv_FormatInt. * java/lang/Integer.java (toString): Just use call String.valueOf. * java/lang/Long.java (toString): Fix typo in comment. * java/lang/String.java (valueOf(int)): Make native. * java/lang/StringBuffer.java (append(int)): Make native. * java/lang/natStringBuffer.cc: New file, for append(jint). * Makefile.am (ant_source_files): Add java/lang/natStringBuffer.cc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42419 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/natStringBuffer.cc')
-rw-r--r--libjava/java/lang/natStringBuffer.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/libjava/java/lang/natStringBuffer.cc b/libjava/java/lang/natStringBuffer.cc
new file mode 100644
index 00000000000..bc70f67f25a
--- /dev/null
+++ b/libjava/java/lang/natStringBuffer.cc
@@ -0,0 +1,30 @@
+// natStringBuffer.cc - Implementation of java.lang.StringBuffer native methods.
+
+/* Copyright (C) 2001 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <gcj/cni.h>
+#include <java/lang/StringBuffer.h>
+
+java::lang::StringBuffer*
+java::lang::StringBuffer::append (jint num)
+{
+ // Use an array large enough for "-2147483648"; i.e. 11 chars.
+ jchar buffer[11];
+ int i = _Jv_FormatInt (buffer+11, num);
+ JvSynchronize dummy (this);
+ jint needed = count + i;
+ ensureCapacity_unsynchronized (needed);
+ jchar* dst = elements (value) + count;
+ jchar* src = buffer+11-i;
+ while (--i >= 0)
+ *dst++ = *src++;
+ count = needed;
+ return this;
+}
OpenPOWER on IntegriCloud