From b8ec06c870ac09d5949907640dca4c1a2b711ed5 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 20 Apr 2008 21:17:29 +0000 Subject: 24853: use metafied strings for inner loops over history --- Src/Zle/complist.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) (limited to 'Src/Zle/complist.c') diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index f441ae530..651a5103c 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -2432,7 +2432,7 @@ domenuselect(Hookdef dummy, Chdata dat) } first = 0; if (mode == MM_INTER) - statusline = stringaszleline(status, 0, &statusll, NULL, NULL); + statusline = status; else if (mode) { int l = sprintf(status, "%s%sisearch%s: ", ((msearchstate & MS_FAILED) ? "failed " : ""), @@ -2441,17 +2441,12 @@ domenuselect(Hookdef dummy, Chdata dat) strncat(status, msearchstr, MAX_STATUS - l - 1); - statusline = stringaszleline(status, 0, &statusll, NULL, NULL); + statusline = status; } else { statusline = NULL; - statusll = 0; } zrefresh(); - if (statusline) { - free(statusline); - statusline = NULL; - statusll = 0; - } + statusline = NULL; inselect = 1; if (noselect) { broken = 1; @@ -2622,12 +2617,10 @@ domenuselect(Hookdef dummy, Chdata dat) if (nmatches < 1 || !minfo.cur || !*(minfo.cur)) { nolist = 1; if (mode == MM_INTER) { - statusline = stringaszleline(status, 0, - &statusll, NULL, NULL); + statusline = status; } else { /* paranoia */ statusline = NULL; - statusll = 0; } if (nmessages) { showinglist = -2; @@ -2645,11 +2638,7 @@ domenuselect(Hookdef dummy, Chdata dat) zrefresh(); showinglist = clearlist = 0; } - if (statusline) { - free(statusline); - statusline = NULL; - statusll = 0; - } + statusline = NULL; goto getk; } @@ -2763,19 +2752,13 @@ domenuselect(Hookdef dummy, Chdata dat) if (nolist) { if (mode == MM_INTER) { - statusline = stringaszleline(status, 0, - &statusll, NULL, NULL); + statusline = status; } else { /* paranoia */ statusline = NULL; - statusll = 0; } zrefresh(); - if (statusline) { - free(statusline); - statusline = NULL; - statusll = 0; - } + statusline = NULL; goto getk; } if (mode) -- cgit 1.4.1