From a3b05d2fbea4ee2e226d3913ae6db5d4d5585841 Mon Sep 17 00:00:00 2001 From: Leo Dev Date: Wed, 22 May 2024 21:27:06 +0200 Subject: [PATCH] fixed password input --- src/interface.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/interface.go b/src/interface.go index d9c24cc..4800ea7 100644 --- a/src/interface.go +++ b/src/interface.go @@ -57,18 +57,22 @@ func ReadPassword(buff *string) error { } chr := string(b[0]) if chr == "\r" || chr == "\n" { + fmt.Printf("\n\r") return nil } else if chr == "\b" || b[0] == 127 { - fmt.Print("\033[1D \033[1D") - tmp := string(*buff) - *buff = tmp[:len(tmp)-1] - } - if safeChar == "off" { - fmt.Print(chr) + if len(*buff) > 0 { + fmt.Print("\033[1D \033[1D") + *buff = string(*buff)[:len(*buff)-1] + } } else { - fmt.Print(safeChar) + *buff += chr + if safeChar == "off" { + fmt.Print(chr) + } else { + fmt.Print(safeChar) + } } - *buff += chr + } return nil }