aboutsummaryrefslogtreecommitdiffhomepage
path: root/cli
diff options
context:
space:
mode:
authorGravatar Frederic Guillot <fred@miniflux.net>2018-12-09 17:44:33 -0800
committerGravatar Frederic Guillot <fred@miniflux.net>2018-12-09 17:44:33 -0800
commit61bfb3cfa8857a144460d05330c1d1fccded960b (patch)
tree485ab80e6122a830ca4c27df6d09826102c1a7ce /cli
parent87648490fda1d765fb7b78544b2b01847550c82b (diff)
Make password prompt compatible with Windows
Diffstat (limited to 'cli')
-rw-r--r--cli/ask_credentials.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/cli/ask_credentials.go b/cli/ask_credentials.go
index bd4bf5f..9021d9b 100644
--- a/cli/ask_credentials.go
+++ b/cli/ask_credentials.go
@@ -14,13 +14,23 @@ import (
)
func askCredentials() (string, string) {
- reader := bufio.NewReader(os.Stdin)
+ fd := int(os.Stdin.Fd())
+
+ if !terminal.IsTerminal(fd) {
+ fmt.Fprintf(os.Stderr, "This is not a terminal, exiting.")
+ os.Exit(1)
+ }
fmt.Print("Enter Username: ")
+
+ reader := bufio.NewReader(os.Stdin)
username, _ := reader.ReadString('\n')
fmt.Print("Enter Password: ")
- bytePassword, _ := terminal.ReadPassword(0)
+
+ state, _ := terminal.GetState(fd)
+ defer terminal.Restore(fd, state)
+ bytePassword, _ := terminal.ReadPassword(fd)
fmt.Printf("\n")
return strings.TrimSpace(username), strings.TrimSpace(string(bytePassword))