From 62007c84c6cbf9969d8a5e3a2e0cae2d381318d0 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Tue, 24 Apr 2018 13:24:42 +0200 Subject: [PATCH] tweaks: invert two conditions and reshuffle, to reduce duplication --- src/search.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/search.c b/src/search.c index 839488ab..ef0fa0fd 100644 --- a/src/search.c +++ b/src/search.c @@ -130,21 +130,18 @@ void search_init(bool replacing, bool keep_the_answer) #endif } - free(thedefault); - - /* If doing a regular-expression search, compile the - * search string, and get out when it's invalid. */ - if (ISSET(USE_REGEXP) && !regexp_init(last_search)) { - tidy_up_after_search(); - return; + /* When not doing a regular-expression search, just search; + * otherwise compile the search string, and only search when + * the expression is valid. */ + if (!ISSET(USE_REGEXP) || regexp_init(last_search)) { + if (replacing) + ask_for_replacement(); + else + go_looking(); } - if (replacing) - ask_for_replacement(); - else - go_looking(); - tidy_up_after_search(); + free(thedefault); return; }