1
1

in do_replace_loop(), check for more than one wrap at the right place

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2007 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
David Lawrence Ramsey 2004-10-21 16:51:45 +00:00
родитель 2eb745939e
Коммит 484352241e

Просмотреть файл

@ -728,25 +728,23 @@ ssize_t do_replace_loop(const char *needle, filestruct *real_current,
#endif
#ifndef NANO_SMALL
/* If we've found a match outside the marked text, skip over it
* and search for another one. */
/* Keep track of how many times the search has wrapped. If it's
* wrapped more than once, it means that the only matches left
* are those outside the marked text, so we're done. */
if (wrapped)
wraps++;
if (wraps > 1)
break;
/* Otherwise, if we've found a match outside the marked text,
* skip over it and search for another one. */
if (old_mark_set) {
if (current->lineno < top->lineno || current->lineno >
bot->lineno || (current == top && current_x < top_x) ||
(current == bot && (current_x > bot_x || current_x +
match_len > bot_x))) {
/* Keep track of how many times the search has wrapped.
* If it's wrapped more than once, it means that the
* only matches left are those outside the marked text,
* so we're done. */
if (wrapped) {
wraps++;
if (wraps > 1)
break;
}
match_len > bot_x)))
continue;
}
}
#endif
if (!replaceall) {