openwrt-packages/utils/gptfdisk/patches/050-Add-some-extra-flushes-...

80 lines
2.6 KiB
Diff

From b33f93bea332211afae037e4b6f379f0876302d1 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Tue, 8 Oct 2019 20:51:54 -0700
Subject: [PATCH] Add some extra flushes before getline/cin
These are not covered by the previous commits.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
diskio-unix.cc | 2 +-
gptcurses.cc | 4 ++--
parttypes.cc | 2 +-
support.cc | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/diskio-unix.cc b/diskio-unix.cc
index d9f8b8d..c38fda5 100644
--- a/diskio-unix.cc
+++ b/diskio-unix.cc
@@ -92,7 +92,7 @@ int DiskIO::OpenForRead(void) {
#if defined(__linux__) && !defined(EFI)
if (isOpen && realFilename.substr(0,4) == "/dev") {
ostringstream modelNameFilename;
- modelNameFilename << "/sys/block" << realFilename.substr(4,512) << "/device/model";
+ modelNameFilename << "/sys/block" << realFilename.substr(4,512) << "/device/model" << flush;
ifstream modelNameFile(modelNameFilename.str().c_str());
if (modelNameFile.is_open()) {
getline(modelNameFile, modelName);
diff --git a/gptcurses.cc b/gptcurses.cc
index 4ebfde1..ca6f4ea 100644
--- a/gptcurses.cc
+++ b/gptcurses.cc
@@ -422,7 +422,7 @@ void GPTDataCurses::Verify(void) {
def_prog_mode();
endwin();
GPTData::Verify();
- cout << "\nPress the <Enter> key to continue: ";
+ cout << "\nPress the <Enter> key to continue: " << flush;
cin.get(junk);
reset_prog_mode();
refresh();
@@ -820,7 +820,7 @@ void ShowTypes(void) {
def_prog_mode();
endwin();
tempType.ShowAllTypes(LINES - 3);
- cout << "\nPress the <Enter> key to continue: ";
+ cout << "\nPress the <Enter> key to continue: " << flush;
cin.get(junk);
reset_prog_mode();
refresh();
diff --git a/parttypes.cc b/parttypes.cc
index cd225d1..6c2c8c6 100644
--- a/parttypes.cc
+++ b/parttypes.cc
@@ -530,7 +530,7 @@ void PartType::ShowAllTypes(int maxLines) const {
cout.unsetf(ios::uppercase);
if (maxLines > 0) {
- cout << "Type search string, or <Enter> to show all codes: ";
+ cout << "Type search string, or <Enter> to show all codes: " << flush;
matchString = ToLower(ReadString());
} // if
while (thisType != NULL) {
diff --git a/support.cc b/support.cc
index 891caad..645ef5d 100644
--- a/support.cc
+++ b/support.cc
@@ -127,7 +127,7 @@ uint64_t GetSectorNum(uint64_t low, uint64_t high, uint64_t def, uint64_t sSize,
char line[255];
do {
- cout << prompt;
+ cout << prompt << flush;
cin.getline(line, 255);
if (!cin.good())
exit(5);
--
2.17.1