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
Этот коммит содержится в:
родитель
2eb745939e
Коммит
484352241e
24
src/search.c
24
src/search.c
@ -728,24 +728,22 @@ ssize_t do_replace_loop(const char *needle, filestruct *real_current,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef NANO_SMALL
|
#ifndef NANO_SMALL
|
||||||
/* If we've found a match outside the marked text, skip over it
|
/* Keep track of how many times the search has wrapped. If it's
|
||||||
* and search for another one. */
|
* 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 (old_mark_set) {
|
||||||
if (current->lineno < top->lineno || current->lineno >
|
if (current->lineno < top->lineno || current->lineno >
|
||||||
bot->lineno || (current == top && current_x < top_x) ||
|
bot->lineno || (current == top && current_x < top_x) ||
|
||||||
(current == bot && (current_x > bot_x || current_x +
|
(current == bot && (current_x > bot_x || current_x +
|
||||||
match_len > bot_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;
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user