From ff730949f98d01a18fe57758c663317cc4f7454b Mon Sep 17 00:00:00 2001 From: green Date: Mon, 7 Feb 2005 20:44:27 +0000 Subject: [PATCH] 2005-02-07 Mark Wielaard Reported by Timo Lindfors java/util/regex/Matcher.java (lookingAt): Set position when match found. (matches): Implemented through lookingAt(). 2005-02-07 Mark Wielaard Fix suggested by Timo Lindfors * java/util/regex/Pattern.java (split(CharSequence,int)): Fix while empties > 0 loops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94713 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 13 +++++++++++++ libjava/java/util/regex/Matcher.java | 13 +++++++++++-- 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 + + Reported by Timo Lindfors + java/util/regex/Matcher.java (lookingAt): Set position when match + found. + (matches): Implemented through lookingAt(). + +2005-02-07 Mark Wielaard + + Fix suggested by Timo Lindfors + * java/util/regex/Pattern.java (split(CharSequence,int)): + Fix while empties > 0 loops. + 2005-02-07 Robert Schuster * 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 -- 2.7.4