Kiln » gitkiln Read More
Clone URL:  
Pushed to one repository · View In Graph Contained in master

do not echo password on Windows

Changeset bd8f5ebeb023

Parent 63ec65163da3

committed by Benjamin Pollack

authored by Benjamin Pollack

Changes to one file · Browse files at bd8f5ebeb023 Showing diff from parent 63ec65163da3 Diff from another changeset...

 
1
2
 
 
 
 
 
3
4
 
5
6
7
8
9
10
11
12
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
1
2
3
4
5
6
7
8
 
9
10
 
11
12
13
14
 
 
 
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@@ -1,14 +1,32 @@
 package kiln   +/* +#include <conio.h> +*/ +import "C" +  import ( - "bufio" + "errors"   "fmt" - "os"  )    func getPass(prompt string) (string, error) {   fmt.Print("Password: ") - scanner := bufio.NewScanner(os.Stdin) - scanner.Scan() - return scanner.Text(), scanner.Err() + pass := make([]rune, 0) + var ch rune + for { + ch = rune(C._getwch()) + if ch == '\n' || ch == '\r' { + break + } else if ch == 3 { + return "", errors.New("break") + } else if ch == '\b' && len(pass) > 0 { + pass = pass[0 : len(pass)-1] + } else { + pass = append(pass, ch) + } + } + C._putch('\r') + C._putch('\n') + return string(pass), nil  }