path: root/ident.c
diff options
authorJeff King <>2012-05-21 23:10:29 (GMT)
committerJunio C Hamano <>2012-05-22 16:08:49 (GMT)
commitbe641abdb544f00adb7ae6fdab41f9bd5453e206 (patch)
tree8f4f4d61e039f939d7a95cc7ab760ce6ebf8de37 /ident.c
parentc96f0c8d0a9f1eeabb2ea49cb7ede954a64bd540 (diff)
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'ident.c')
1 files changed, 4 insertions, 1 deletions
diff --git a/ident.c b/ident.c
index cefb829..e279039 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;