aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/runtime/natStringBuffer.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-12-11 18:01:40 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-12-11 18:01:40 +0000
commit50cc5dd29b71f5fcbe10cb424177ecc4d72e95d7 (patch)
tree036eb3d4668ff454b9f53f21377f4d5495ee21da /libjava/gnu/gcj/runtime/natStringBuffer.cc
parent34026199b380249a3de9661cfea29e5e90252d4d (diff)
downloadgcc-50cc5dd29b71f5fcbe10cb424177ecc4d72e95d7.zip
gcc-50cc5dd29b71f5fcbe10cb424177ecc4d72e95d7.tar.gz
gcc-50cc5dd29b71f5fcbe10cb424177ecc4d72e95d7.tar.bz2
String.java (String): New constructor.
* java/lang/String.java (String): New constructor. * gnu/gcj/runtime/natStringBuffer.cc: New file. * gnu/gcj/runtime/StringBuffer.java: New file. * Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Added gnu/gcj/runtime/StringBuffer.java. (nat_source_files): Added gnu/gcj/runtime/natStringBuffer.cc. From-SVN: r47883
Diffstat (limited to 'libjava/gnu/gcj/runtime/natStringBuffer.cc')
-rw-r--r--libjava/gnu/gcj/runtime/natStringBuffer.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/runtime/natStringBuffer.cc b/libjava/gnu/gcj/runtime/natStringBuffer.cc
new file mode 100644
index 0000000..2777b9e
--- /dev/null
+++ b/libjava/gnu/gcj/runtime/natStringBuffer.cc
@@ -0,0 +1,36 @@
+// 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 <gnu/gcj/runtime/StringBuffer.h>
+#include <java/lang/String.h>
+
+gnu::gcj::runtime::StringBuffer *
+gnu::gcj::runtime::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);
+ 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;
+}
+
+java::lang::String *
+gnu::gcj::runtime::StringBuffer::toString ()
+{
+ return new java::lang::String (this);
+}