getSequence(ignoreHidden);
boolean found = false;
- while (!found || findAll)
+ while ((!found || findAll) && sequenceIndex < end)
{
found = findNextMatch(searchString, searchPattern, searchDescription,
ignoreHidden);
- if (sequenceIndex >= end)
- {
- break;
- }
}
}
* update residueIndex to next position after the start of the match
* (findIndex returns a value base 1, columnIndex is held base 0)
*/
- residueIndex += offset + 1;
+ residueIndex = searchPattern.matchedFrom()+1;
/*
* return false if the match is entirely in a hidden region
*/
int[] truePositions = searchedSequenceMap
.locateInFrom(matchStartPosition, matchEndPosition);
- for (int i = 0; i < truePositions.length - 1; i += 2)
- {
- searchResults.addResult(seq, truePositions[i], truePositions[i + 1]);
- }
+ searchResults.addResult(seq, truePositions);
}
/**