aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natString.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/natString.cc')
-rw-r--r--libjava/java/lang/natString.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
index 08f1755..bfdc50f 100644
--- a/libjava/java/lang/natString.cc
+++ b/libjava/java/lang/natString.cc
@@ -687,6 +687,8 @@ java::lang::String::substring (jint beginIndex, jint endIndex)
{
if (beginIndex < 0 || endIndex > count || beginIndex > endIndex)
JvThrow (new StringIndexOutOfBoundsException());
+ if (beginIndex == 0 && endIndex == count)
+ return this;
jint newCount = endIndex - beginIndex;
if (newCount <= 8) // Optimization, mainly for GC.
return JvNewString(JvGetStringChars(this) + beginIndex, newCount);