diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2009-05-23 10:04:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-23 01:54:45 -0700 |
commit | 0dbbbc1e26c9979e34031c09c641893123d18450 (patch) | |
tree | 4640176da8771b27fa2adb80206319233d1360eb | |
parent | 27e3219f1a78d2d7035565aa7ace882dbc2baa97 (diff) | |
download | git-0dbbbc1e26c9979e34031c09c641893123d18450.tar.gz git-0dbbbc1e26c9979e34031c09c641893123d18450.tar.xz |
MinGW: Add a simple getpass()
We need getpass() to activate curl on MinGW. Although the default
Makefile currently has 'NO_CURL = YesPlease', msysgit releases do
provide curl support, so getpass() is used.
[spr: - edited commit message.
- squashed commit that provides getpass() declaration.]
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | compat/mingw.c | 15 | ||||
-rw-r--r-- | compat/mingw.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c index b723c4dfd..e190fddf4 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1156,3 +1156,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); +} diff --git a/compat/mingw.h b/compat/mingw.h index b1156b865..4c50f5b1b 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -38,6 +38,8 @@ struct passwd { char *pw_dir; }; +extern char *getpass(const char *prompt); + struct pollfd { int fd; /* file descriptor */ short events; /* requested events */ |