ACPICA: iASL,acpi_dump: Improve y/n query
authorBob Moore <robert.moore@intel.com>
Fri, 16 Aug 2019 21:43:24 +0000 (14:43 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 20 Aug 2019 22:00:36 +0000 (00:00 +0200)
 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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
tools/power/acpi/tools/acpidump/apfiles.c

index a42cfca..16d919b 100644 (file)
@@ -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);
 }
 
 /******************************************************************************