diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-04-20 21:17:29 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-04-20 21:17:29 +0000 |
commit | b8ec06c870ac09d5949907640dca4c1a2b711ed5 (patch) | |
tree | f5676d7f945f34fe69e30e67fa7fbc8a82730b94 /Src/Zle/zle_refresh.c | |
parent | a12b1f35aaeff5724c1d7b4824de62cb4e480698 (diff) | |
download | zsh-b8ec06c870ac09d5949907640dca4c1a2b711ed5.tar.gz zsh-b8ec06c870ac09d5949907640dca4c1a2b711ed5.tar.xz zsh-b8ec06c870ac09d5949907640dca4c1a2b711ed5.zip |
24853: use metafied strings for inner loops over history
Diffstat (limited to 'Src/Zle/zle_refresh.c')
-rw-r--r-- | Src/Zle/zle_refresh.c | 9 |
1 files changed, 7 insertions, 2 deletions
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; |