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>
Jeff King committed
May 24, 2012 at 19:26 UTC
359b27add341878a13c6a8b85849b75b78246c7e
1 file changed
+9
-6
ident.c
+9
-6
@@ -268,7 +268,7 @@ const char *fmt_ident(const char *name, const char *email,
268
static struct strbuf ident = STRBUF_INIT;
269
char date[50];
270
int error_on_no_name = (flag & IDENT_ERROR_ON_NO_NAME);
271
- int name_addr_only = (flag & IDENT_NO_DATE);
271
+ int want_date = !(flag & IDENT_NO_DATE);
272
273
if (!name)
274
name = ident_default_name();
@@ -287,10 +287,13 @@ const char *fmt_ident(const char *name, const char *email,
287
name = pw->pw_name;
288
}
289
290
- strcpy(date, ident_default_date());
291
- if (!name_addr_only && date_str && date_str[0]) {
292
- if (parse_date(date_str, date, sizeof(date)) < 0)
293
- die("invalid date format: %s", date_str);
290
+ if (want_date) {
291
+ if (date_str && date_str[0]) {
292
+ if (parse_date(date_str, date, sizeof(date)) < 0)
293
+ die("invalid date format: %s", date_str);
294
+ }
295
+ else
296
+ strcpy(date, ident_default_date());
297
}
298
299
strbuf_reset(&ident);
@@ -298,7 +301,7 @@ const char *fmt_ident(const char *name, const char *email,
301
strbuf_addstr(&ident, " <");
302
strbuf_addstr_without_crud(&ident, email);
303
strbuf_addch(&ident, '>');
301
- if (!name_addr_only) {
304
+ if (want_date) {
305
strbuf_addch(&ident, ' ');
306
strbuf_addstr_without_crud(&ident, date);
307
}