Browse Source

ident: refactor NO_DATE flag in fmt_ident

As a short-hand, we extract this flag into the local
variable "name_addr_only". It's more accurate to simply
negate this and refer to it as "want_date", which will be
less confusing when we add more NO_* flags.

While we're touching this part of the code, let's move the
call to ident_default_date() only when we are actually going
to use it, not when we have NO_DATE set, or when we get a
date from the environment.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 13 years ago committed by Junio C Hamano
parent
commit
359b27add3
  1. 11
      ident.c

11
ident.c

@ -268,7 +268,7 @@ const char *fmt_ident(const char *name, const char *email, @@ -268,7 +268,7 @@ const char *fmt_ident(const char *name, const char *email,
static struct strbuf ident = STRBUF_INIT;
char date[50];
int error_on_no_name = (flag & IDENT_ERROR_ON_NO_NAME);
int name_addr_only = (flag & IDENT_NO_DATE);
int want_date = !(flag & IDENT_NO_DATE);

if (!name)
name = ident_default_name();
@ -287,18 +287,21 @@ const char *fmt_ident(const char *name, const char *email, @@ -287,18 +287,21 @@ const char *fmt_ident(const char *name, const char *email,
name = pw->pw_name;
}

strcpy(date, ident_default_date());
if (!name_addr_only && date_str && date_str[0]) {
if (want_date) {
if (date_str && date_str[0]) {
if (parse_date(date_str, date, sizeof(date)) < 0)
die("invalid date format: %s", date_str);
}
else
strcpy(date, ident_default_date());
}

strbuf_reset(&ident);
strbuf_addstr_without_crud(&ident, name);
strbuf_addstr(&ident, " <");
strbuf_addstr_without_crud(&ident, email);
strbuf_addch(&ident, '>');
if (!name_addr_only) {
if (want_date) {
strbuf_addch(&ident, ' ');
strbuf_addstr_without_crud(&ident, date);
}

Loading…
Cancel
Save