aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/regex
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/regex')
-rw-r--r--libjava/java/util/regex/Matcher.java13
-rw-r--r--libjava/java/util/regex/Pattern.java14
2 files changed, 21 insertions, 6 deletions
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