summaryrefslogtreecommitdiff
path: root/ident.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-05-21 19:10:29 -0400
committerJunio C Hamano <gitster@pobox.com>2012-05-22 09:08:49 -0700
commitbe641abdb544f00adb7ae6fdab41f9bd5453e206 (patch)
tree8f4f4d61e039f939d7a95cc7ab760ce6ebf8de37 /ident.c
parentc96f0c8d0a9f1eeabb2ea49cb7ede954a64bd540 (diff)
downloadgit-be641abdb544f00adb7ae6fdab41f9bd5453e206.tar.gz
ident: trim whitespace from default name/email
Usually these values get fed to fmt_ident, which will trim any cruft anyway, but there are a few code paths which use them directly. Let's clean them up for the benefit of those callers. Furthermore, fmt_ident will look at the pre-trimmed value and decide whether to invoke ERROR_ON_NO_NAME; this check can be fooled by a name consisting only of spaces. Note that we only bother to clean up when we are pulling the information from gecos or from system files. Any other value comes from a config file, where we will have cleaned up accidental whitespace already. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ident.c')
-rw-r--r--ident.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ident.c b/ident.c
index cefb8294c3..e279039ac5 100644
--- a/ident.c
+++ b/ident.c
@@ -95,8 +95,10 @@ static void copy_email(const struct passwd *pw, struct strbuf *email)
const char *ident_default_name(void)
{
- if (!git_default_name.len)
+ if (!git_default_name.len) {
copy_gecos(xgetpwuid_self(), &git_default_name);
+ strbuf_trim(&git_default_name);
+ }
return git_default_name.buf;
}
@@ -110,6 +112,7 @@ const char *ident_default_email(void)
user_ident_explicitly_given |= IDENT_MAIL_GIVEN;
} else
copy_email(xgetpwuid_self(), &git_default_email);
+ strbuf_trim(&git_default_email);
}
return git_default_email.buf;
}