diff options
Diffstat (limited to 'libjava/classpath/gnu/java/util/regex/RETokenChar.java')
-rw-r--r-- | libjava/classpath/gnu/java/util/regex/RETokenChar.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/classpath/gnu/java/util/regex/RETokenChar.java b/libjava/classpath/gnu/java/util/regex/RETokenChar.java index b70e6b1d843..42dcd93268a 100644 --- a/libjava/classpath/gnu/java/util/regex/RETokenChar.java +++ b/libjava/classpath/gnu/java/util/regex/RETokenChar.java @@ -113,7 +113,6 @@ final class RETokenChar extends REToken { boolean chain(REToken next) { if (next instanceof RETokenChar && ((RETokenChar)next).insens == insens) { RETokenChar cnext = (RETokenChar) next; - // assume for now that next can only be one character int newsize = ch.length + cnext.ch.length; char[] chTemp = new char [newsize]; @@ -122,7 +121,9 @@ final class RETokenChar extends REToken { System.arraycopy(cnext.ch,0,chTemp,ch.length,cnext.ch.length); ch = chTemp; - return false; + if (cnext.next == null) + return false; + return chain(cnext.next); } else return super.chain(next); } |