From 0e33cf89d2e351b2306e66a7d23ede880208fbee Mon Sep 17 00:00:00 2001
From: moneromooo-monero <moneromooo-monero@users.noreply.github.com>
Date: Wed, 10 Oct 2018 12:15:20 +0000
Subject: [PATCH] password: fix secure input with echo on windows

Thanks to iDunk for the testing back and forth
---
 src/common/password.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/common/password.cpp b/src/common/password.cpp
index a8d5141dc..7ba3fcb42 100644
--- a/src/common/password.cpp
+++ b/src/common/password.cpp
@@ -60,7 +60,7 @@ namespace
 
     DWORD mode_old;
     ::GetConsoleMode(h_cin, &mode_old);
-    DWORD mode_new = mode_old & ~((hide_input ? ENABLE_ECHO_INPUT : 0) | ENABLE_LINE_INPUT);
+    DWORD mode_new = mode_old & ~(hide_input ? ENABLE_ECHO_INPUT : 0);
     ::SetConsoleMode(h_cin, mode_new);
 
     bool r = true;
@@ -78,7 +78,11 @@ namespace
       {
         break;
       }
-      else if (ucs2_ch == L'\n' || ucs2_ch == L'\r')
+      else if (ucs2_ch == L'\r')
+      {
+        continue;
+      }
+      else if (ucs2_ch == L'\n')
       {
         std::cout << std::endl;
         break;