From f527705103d38264aa40557e7866a99cfa138f88 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 27 Feb 2023 14:43:57 +0200 Subject: Accept both lower and upper case y/n as valid answers in yn_prompt() --- libbutl/prompt.cxx | 4 ++-- libbutl/prompt.hxx | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libbutl/prompt.cxx b/libbutl/prompt.cxx index 2e42dd5..154522c 100644 --- a/libbutl/prompt.cxx +++ b/libbutl/prompt.cxx @@ -44,8 +44,8 @@ namespace butl if (!e) a = def; } - } while (a != "y" && a != "n"); + } while (a != "y" && a != "Y" && a != "n" && a != "N"); - return a == "y"; + return a == "y" || a == "Y"; } } diff --git a/libbutl/prompt.hxx b/libbutl/prompt.hxx index 90b8dbf..2a07708 100644 --- a/libbutl/prompt.hxx +++ b/libbutl/prompt.hxx @@ -15,6 +15,10 @@ namespace butl // Write the prompt to diag_stream. Throw ios_base::failure if no answer // could be extracted from stdin (for example, because it was closed). // + // Note that the implementation accepts both lower and upper case y/n as + // valid answers (apparently the capitalized default answer confuses some + // users into answering with capital letters). + // LIBBUTL_SYMEXPORT bool yn_prompt (const std::string&, char def = '\0'); } -- cgit v1.1