diff mbox series

[5/9] ACPICA: iASL,acpi_dump: Improve y/n query

Message ID 20190816214328.3900-6-erik.schmauss@intel.com (mailing list archive)
State Mainlined, archived
Headers show
Series ACPICA 20190816 release | expand

Commit Message

Schmauss, Erik Aug. 16, 2019, 9:43 p.m. UTC
From: Bob Moore <robert.moore@intel.com>

 The y/n query is used for file overwrite. Use fgetc, check for
 standalone newline.

ACPICA commit f9eb60ead76e5b2b6e578b553f592452ccfca47a

Link: https://github.com/acpica/acpica/commit/f9eb60ea
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
---
 tools/power/acpi/tools/acpidump/apfiles.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/tools/power/acpi/tools/acpidump/apfiles.c b/tools/power/acpi/tools/acpidump/apfiles.c
index a42cfcaa3293..16d919bd133b 100644
--- a/tools/power/acpi/tools/acpidump/apfiles.c
+++ b/tools/power/acpi/tools/acpidump/apfiles.c
@@ -29,18 +29,24 @@  static int ap_is_existing_file(char *pathname)
 {
 #if !defined(_GNU_EFI) && !defined(_EDK2_EFI)
 	struct stat stat_info;
+	int in_char;
 
 	if (!stat(pathname, &stat_info)) {
 		fprintf(stderr,
 			"Target path already exists, overwrite? [y|n] ");
 
-		if (getchar() != 'y') {
+		in_char = fgetc(stdin);
+		if (in_char == '\n') {
+			in_char = fgetc(stdin);
+		}
+
+		if (in_char != 'y' && in_char != 'Y') {
 			return (-1);
 		}
 	}
 #endif
 
-	return 0;
+	return (0);
 }
 
 /******************************************************************************