summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/StringBuffer.java
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-24 06:19:24 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-24 06:19:24 +0000
commit8c9e2d18f0c7c69649beb41c328e5ae6c9f42882 (patch)
tree8357bb953981f028e832dd6b2ddac44fa3e0e65b /libjava/java/lang/StringBuffer.java
parent910cb4a33b83e7929d104abb545c1d2e7d3df5b5 (diff)
downloadppe42-gcc-8c9e2d18f0c7c69649beb41c328e5ae6c9f42882.tar.gz
ppe42-gcc-8c9e2d18f0c7c69649beb41c328e5ae6c9f42882.zip
* java/lang/StringBuffer.java (substring): Don't set `shared' on
small Strings, even if buffer is already shared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71726 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/StringBuffer.java')
-rw-r--r--libjava/java/lang/StringBuffer.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/java/lang/StringBuffer.java b/libjava/java/lang/StringBuffer.java
index a7c2590f39a..0903b40cc5f 100644
--- a/libjava/java/lang/StringBuffer.java
+++ b/libjava/java/lang/StringBuffer.java
@@ -564,11 +564,12 @@ public final class StringBuffer implements Serializable, CharSequence
throw new StringIndexOutOfBoundsException();
if (len == 0)
return "";
- // Share unless substring is smaller than 1/4 of the buffer.
- if ((len << 2) >= value.length)
- shared = true;
+ // Don't copy unless substring is smaller than 1/4 of the buffer.
+ boolean share_buffer = ((len << 2) >= value.length);
+ if (share_buffer)
+ this.shared = true;
// Package constructor avoids an array copy.
- return new String(value, beginIndex, len, shared);
+ return new String(value, beginIndex, len, share_buffer);
}
/**
OpenPOWER on IntegriCloud