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/zle_refresh.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Src/Zle/zle_refresh.c') diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c index 89bf30d9a..b9e5723c9 100644 --- a/Src/Zle/zle_refresh.c +++ b/Src/Zle/zle_refresh.c @@ -1387,11 +1387,15 @@ zrefresh(void) more_end = 1; if (statusline) { + int outll, outsz; + ZLE_STRING_T outputline = + stringaszleline(statusline, 0, &outll, &outsz, NULL); + rpms.tosln = rpms.ln + 1; nbuf[rpms.ln][winw + 1] = zr_zr; /* text not wrapped */ snextline(&rpms); - u = statusline; - for (; u < statusline + statusll; u++) { + u = outputline; + for (; u < outputline + outll; u++) { #ifdef MULTIBYTE_SUPPORT if (iswprint(*u)) { int width = wcwidth(*u); @@ -1449,6 +1453,7 @@ zrefresh(void) */ snextline(&rpms); } + zfree(outputline, outsz); } *rpms.s = zr_zr; -- cgit v1.2.3