56 lines
1.6 KiB
Diff
56 lines
1.6 KiB
Diff
From b50bad542e62e13c55f5b9057f7ca869f818c3e9 Mon Sep 17 00:00:00 2001
|
|
From: xuyinghao <xuyinghao2@huawei.com>
|
|
Date: Tue, 9 Aug 2022 18:59:08 +0800
|
|
Subject: [PATCH 12/22] virsh: fflush(stdout) after fputs()
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Description: We are not guaranteed that the string we are printing onto stdout contains '\n' and thus that the stdout is flushed. Flush stdout after all fputs()-s which do not flush stdout.
|
|
|
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
---
|
|
tools/vsh.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/tools/vsh.c b/tools/vsh.c
|
|
index 9bb4ff043a..3646f37cea 100644
|
|
--- a/tools/vsh.c
|
|
+++ b/tools/vsh.c
|
|
@@ -1829,6 +1829,7 @@ vshDebug(vshControl *ctl, int level, const char *format, ...)
|
|
str = g_strdup_vprintf(format, ap);
|
|
va_end(ap);
|
|
fputs(str, stdout);
|
|
+ fflush(stdout);
|
|
VIR_FREE(str);
|
|
}
|
|
|
|
@@ -1845,6 +1846,7 @@ vshPrintExtra(vshControl *ctl, const char *format, ...)
|
|
str = g_strdup_vprintf(format, ap);
|
|
va_end(ap);
|
|
fputs(str, stdout);
|
|
+ fflush(stdout);
|
|
VIR_FREE(str);
|
|
}
|
|
|
|
@@ -1859,6 +1861,7 @@ vshPrint(vshControl *ctl G_GNUC_UNUSED, const char *format, ...)
|
|
str = g_strdup_vprintf(format, ap);
|
|
va_end(ap);
|
|
fputs(str, stdout);
|
|
+ fflush(stdout);
|
|
VIR_FREE(str);
|
|
}
|
|
|
|
@@ -2950,6 +2953,7 @@ vshReadline(vshControl *ctl G_GNUC_UNUSED,
|
|
int len;
|
|
|
|
fputs(prompt, stdout);
|
|
+ fflush(stdout);
|
|
r = fgets(line, sizeof(line), stdin);
|
|
if (r == NULL) return NULL; /* EOF */
|
|
|
|
--
|
|
2.33.0
|
|
|