X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=ident.c;h=3d49608e6f9afe22f24a2faf70f2d6cee50b8919;hb=0cae23467ada9b94210a0e770064841efea8ad40;hp=bb03bddd34f2471ed130c499affc369758d4bfd9;hpb=4a164d48df6bb1b4a771741c63d4437fd2dca0bb;p=git.git diff --git a/ident.c b/ident.c index bb03bddd3..3d49608e6 100644 --- a/ident.c +++ b/ident.c @@ -9,10 +9,10 @@ static char git_default_date[50]; -static void copy_gecos(struct passwd *w, char *name, int sz) +static void copy_gecos(const struct passwd *w, char *name, size_t sz) { char *src, *dst; - int len, nlen; + size_t len, nlen; nlen = strlen(w->pw_name); @@ -43,13 +43,13 @@ static void copy_gecos(struct passwd *w, char *name, int sz) } -static void copy_email(struct passwd *pw) +static void copy_email(const struct passwd *pw) { /* * Make up a fake email address * (name + '@' + hostname [+ '.' + domainname]) */ - int len = strlen(pw->pw_name); + size_t len = strlen(pw->pw_name); if (len > sizeof(git_default_email)/2) die("Your sysadmin must hate you!"); memcpy(git_default_email, pw->pw_name, len); @@ -95,9 +95,9 @@ static void setup_ident(void) datestamp(git_default_date, sizeof(git_default_date)); } -static int add_raw(char *buf, int size, int offset, const char *str) +static int add_raw(char *buf, size_t size, int offset, const char *str) { - int len = strlen(str); + size_t len = strlen(str); if (offset + len > size) return size; memcpy(buf + offset, str, len); @@ -131,9 +131,9 @@ static int crud(unsigned char c) * Copy over a string to the destination, but avoid special * characters ('\n', '<' and '>') and remove crud at the end */ -static int copy(char *buf, int size, int offset, const char *src) +static int copy(char *buf, size_t size, int offset, const char *src) { - int i, len; + size_t i, len; unsigned char c; /* Remove crud from the beginning.. */ @@ -197,6 +197,8 @@ const char *fmt_ident(const char *name, const char *email, name = git_default_name; if (!email) email = git_default_email; + if (!email) + email = getenv("EMAIL"); if (!*name) { struct passwd *pw;