From: Johannes Schindelin Date: Wed, 08 Apr 2009 01:30:22 GMT Subject: [PATCH] Add a simple getpass() for MinGW Message-ID: <7ba615a300fe2742e8d32f0313c6ee9a1a1aaed3.1239154140u.git.johannes.schindelin@gmx.de> In-Reply-To: This should be replaced with a graphical getpass() at some stage. Signed-off-by: Johannes Schindelin --- I saw it coming that I had to do this. compat/mingw.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/compat/mingw.c b/compat/mingw.c index d50186e..2ab5bbe 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1157,3 +1157,18 @@ int link(const char *oldpath, const char *newpath) } return 0; } + +char *getpass(const char *prompt) +{ + struct strbuf buf = STRBUF_INIT; + + fputs(prompt, stderr); + for (;;) { + char c = _getch(); + if (c == '\r' || c == '\n') + break; + strbuf_addch(&buf, c); + } + fputs("\n", stderr); + return strbuf_detach(&buf, NULL); +} -- 1.6.2.1.613.g25746