diff options
Diffstat (limited to 'Src/Zle/zle_utils.c')
-rw-r--r-- | Src/Zle/zle_utils.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c index a3f3d83a4..0e8099bd2 100644 --- a/Src/Zle/zle_utils.c +++ b/Src/Zle/zle_utils.c @@ -67,9 +67,16 @@ void sizeline(int sz) { while (sz > linesz) - zleline = + { + if (linesz < 256) + linesz = 256; + else + linesz *= 4; + + zleline = (ZLE_STRING_T)realloc(zleline, - ((linesz *= 4) + 2) * ZLE_CHAR_SIZE); + (linesz + 2) * ZLE_CHAR_SIZE); + } } /* |