From 4bc12834fee6ac52880af48776f49720039a1e9e Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Mon, 8 Jul 2013 16:34:32 +0200 Subject: [PATCH] Only clear ScreenCount if write() succeeded. --- src/editline.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/editline.c b/src/editline.c index 824cfff..9187fa3 100644 --- a/src/editline.c +++ b/src/editline.c @@ -154,10 +154,14 @@ static void tty_flush(void) { ssize_t res; - if (ScreenCount) { - if (!el_no_echo) - res = write(el_outfd, Screen, ScreenCount); - ScreenCount = 0; + if (!ScreenCount) + return; + + if (!el_no_echo) { + res = write(el_outfd, Screen, ScreenCount); + + if (res > 0) + ScreenCount = 0; } }