harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ellison (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4396) [classlib][regex] Matcher.hitEnd() returns invalid value if a match isn't found after find() method is called
Date Mon, 09 Jul 2007 15:40:05 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511162

Tim Ellison commented on HARMONY-4396:

Thanks Radu.

Just a heads up to committers that the attachments here do not have Radu's authorization for
inclusion in Harmony.  In particular the test case has explicitly reserved all rights so we
cannot incorporate it directly (and therefore have to write an alternative regression test).

(If that was not your intention Radu, please re-attach the code with the "Grant license to
ASF for inclusion in ASF works..." radio button selected and an amended comment block).

> [classlib][regex] Matcher.hitEnd() returns invalid value if a match isn't found after
find() method is called
> -------------------------------------------------------------------------------------------------------------
>                 Key: HARMONY-4396
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4396
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: OS: Linux openSUSE 10.2, JDK 1.6
>            Reporter: Radu Marias
>            Priority: Minor
>         Attachments: HitEndTest.java, Matcher.java
> If Matcher.find() is called and there's no match found, the Matcher.hitEnd() returns
false event thought when it's tried to get the index of the match that index is -1 (witch
means that a match isn't found).
> The problem is that matchResult.hitEnd isn't set to true when the index of found match
is -1.
> The fix is a little change to "private int findAt(int startIndex)" method to set matchResult.hitEnd
to true when a match isn't found.
> The source of changed method:
>     private int findAt(int startIndex) {
>         matchResult.reset();
>         matchResult.setMode(Matcher.MODE_FIND);
>         matchResult.setStartIndex(startIndex);
>         int foundIndex = start.find(startIndex, string, matchResult);
>         if (foundIndex == -1) {
>             matchResult.hitEnd = true;
>         }
>         return foundIndex;
>     }
> Attachments:
> HitEndTest.java: test case, testHitEndAfterFind() is the test it fails.
> Matcher.java: the fixed file.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message