summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/StringBuffer.java
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-22 08:17:49 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-22 08:17:49 +0000
commit450177e0156131c4865e7edb8c9f3883032aa5f9 (patch)
tree3783116e9b94c6400adcc9ebbaeadcf6c20c8887 /libjava/java/lang/StringBuffer.java
parent298f38b48050c316530af8c7ee3df40fdf1f11d8 (diff)
downloadppe42-gcc-450177e0156131c4865e7edb8c9f3883032aa5f9.tar.gz
ppe42-gcc-450177e0156131c4865e7edb8c9f3883032aa5f9.zip
2003-09-21 Ralph Loader <suckfish@ihug.co.nz>
PR java/12350: * java/lang/StringBuffer.java (substring): Fix handling of shared flag. 2003-09-21 Ralph Loader <suckfish@ihug.co.nz> PR java/12350 * libjava.lang/PR12350.java: New file. * libjava.lang/PR12350.out: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71651 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/StringBuffer.java')
-rw-r--r--libjava/java/lang/StringBuffer.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/java/lang/StringBuffer.java b/libjava/java/lang/StringBuffer.java
index fac7892524e..a7c2590f39a 100644
--- a/libjava/java/lang/StringBuffer.java
+++ b/libjava/java/lang/StringBuffer.java
@@ -564,8 +564,9 @@ public final class StringBuffer implements Serializable, CharSequence
throw new StringIndexOutOfBoundsException();
if (len == 0)
return "";
- // Share the char[] unless 3/4 empty.
- shared = (len << 2) >= value.length;
+ // Share unless substring is smaller than 1/4 of the buffer.
+ if ((len << 2) >= value.length)
+ shared = true;
// Package constructor avoids an array copy.
return new String(value, beginIndex, len, shared);
}
OpenPOWER on IntegriCloud