]> git.wh0rd.org Git - nano.git/commitdiff
in do_replace_loop(), check for more than one wrap at the right place
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 21 Oct 2004 16:51:45 +0000 (16:51 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 21 Oct 2004 16:51:45 +0000 (16:51 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2007 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/search.c

index 70edcfd113d897d93bfa4ec8f2b4f63fec5a39ed..c24a0c23f4a32e68cec718257b647b6e4e549294 100644 (file)
@@ -728,24 +728,22 @@ 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