diff options
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; |