diff --git a/src/viewer/search.c b/src/viewer/search.c
index d34cce3..cb4b4e4 100644
a
|
b
|
mcview_do_search (WView * view, off_t want_search_start) |
366 | 366 | break; |
367 | 367 | } |
368 | 368 | |
369 | | if (view->search->error == MC_SEARCH_E_ABORT || view->search->error == MC_SEARCH_E_NOTFOUND) |
| 369 | /* Search error is here. |
| 370 | * MC_SEARCH_E_NOTFOUND: continue search |
| 371 | * others: stop |
| 372 | */ |
| 373 | if (view->search->error != MC_SEARCH_E_NOTFOUND) |
370 | 374 | break; |
371 | 375 | |
372 | 376 | search_start = growbufsize - view->search->original_len; |
373 | 377 | } |
374 | 378 | while (search_start > 0 && mcview_may_still_grow (view)); |
375 | 379 | |
| 380 | /* After mcview_may_still_grow (view) == FALSE we can have skipped last chunk. Search there. */ |
| 381 | if (!found && view->search->error == MC_SEARCH_E_NOTFOUND && !mcview_search_options.backwards |
| 382 | && mcview_find (&vsm, search_start, mcview_get_filesize (view), &match_len)) |
| 383 | { |
| 384 | mcview_search_show_result (view, match_len); |
| 385 | found = TRUE; |
| 386 | } |
| 387 | |
376 | 388 | status_msg_deinit (STATUS_MSG (&vsm)); |
377 | 389 | |
378 | 390 | if (orig_search_start != 0 && (!found && view->search->error == MC_SEARCH_E_NOTFOUND) |