diff options
-rw-r--r-- | libjava/ChangeLog | 13 | ||||
-rw-r--r-- | libjava/java/util/regex/Matcher.java | 13 | ||||
-rw-r--r-- | libjava/java/util/regex/Pattern.java | 14 |
3 files changed, 34 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 9de2281..9b3a5a3 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,16 @@ +2005-02-07 Mark Wielaard <mark@klomp.org> + + Reported by Timo Lindfors <timo.lindfors@iki.fi> + java/util/regex/Matcher.java (lookingAt): Set position when match + found. + (matches): Implemented through lookingAt(). + +2005-02-07 Mark Wielaard <mark@klomp.org> + + Fix suggested by Timo Lindfors <timo.lindfors@iki.fi> + * java/util/regex/Pattern.java (split(CharSequence,int)): + Fix while empties > 0 loops. + 2005-02-07 Robert Schuster <thebohemian@gmx.net> * gnu/java/nio/charset/ISO_8859_1.java, diff --git a/libjava/java/util/regex/Matcher.java b/libjava/java/util/regex/Matcher.java index 994893a..f8c8f1a 100644 --- a/libjava/java/util/regex/Matcher.java +++ b/libjava/java/util/regex/Matcher.java @@ -212,7 +212,10 @@ public final class Matcher if (match != null) { if (match.getStartIndex() == 0) - return true; + { + position = match.getEndIndex(); + return true; + } match = null; } return false; @@ -230,7 +233,13 @@ public final class Matcher */ public boolean matches () { - return find(0); + if (lookingAt()) + { + if (position == input.length()) + return true; + match = null; + } + return false; } /** diff --git a/libjava/java/util/regex/Pattern.java b/libjava/java/util/regex/Pattern.java index fa722cf..06418a2 100644 --- a/libjava/java/util/regex/Pattern.java +++ b/libjava/java/util/regex/Pattern.java @@ -198,8 +198,11 @@ public final class Pattern implements Serializable empties++; else { - while (empties-- > 0) - list.add(""); + while (empties > 0) + { + list.add(""); + empties--; + } String text = input.subSequence(start, end).toString(); list.add(text); @@ -222,8 +225,11 @@ public final class Pattern implements Serializable int max = limit - list.size(); empties = (empties > max) ? max : empties; } - while (empties-- > 0) - list.add(""); + while (empties > 0) + { + list.add(""); + empties--; + } } // last token at end |