diff options
author | Karsten Blees <blees@dcon.de> | 2013-01-09 12:49:26 +0100 |
---|---|---|
committer | Erik Faye-Lund <kusmabite@gmail.com> | 2013-02-26 17:42:24 +0100 |
commit | 3b12f46ab382b280effa15a925b6195abaebf0a3 (patch) | |
tree | 8e6ee876a57d00c346f4ef3ec87dc07b3434682b | |
parent | Git 1.8.2-rc1 (diff) | |
download | tgif-3b12f46ab382b280effa15a925b6195abaebf0a3.tar.xz |
wincred: accept CRLF on stdin to simplify console usage
The windows credential helper currently only accepts LF on stdin, but bash
and cmd.exe both send CRLF. This prevents interactive use in the console.
Change the stdin parser to optionally accept CRLF.
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
-rw-r--r-- | contrib/credential/wincred/git-credential-wincred.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/credential/wincred/git-credential-wincred.c b/contrib/credential/wincred/git-credential-wincred.c index cbaec5f24b..94d7140f02 100644 --- a/contrib/credential/wincred/git-credential-wincred.c +++ b/contrib/credential/wincred/git-credential-wincred.c @@ -284,10 +284,13 @@ static void read_credential(void) while (fgets(buf, sizeof(buf), stdin)) { char *v; + int len = strlen(buf); + /* strip trailing CR / LF */ + while (len && strchr("\r\n", buf[len - 1])) + buf[--len] = 0; - if (!strcmp(buf, "\n")) + if (!*buf) break; - buf[strlen(buf)-1] = '\0'; v = strchr(buf, '='); if (!v) |