git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/7] ident: refactor NO_DATE flag in fmt_ident

From
Jeff King <peff@peff.net>
Date
May 24, 2012, 23:26 UTC
Message-ID
<20120524232650.GB11084@sigill.intra.peff.net>
In-Reply-To
<20120524232515.GA11054@sigill.intra.peff.net>

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>
---
Just refactoring for the next patch...
 ident.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/ident.c b/ident.c
index f5160e1..59beef2 100644
--- a/ident.c
+++ b/ident.c
@@ -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,10 +287,13 @@ 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 (parse_date(date_str, date, sizeof(date)) < 0)
-			die("invalid date format: %s", date_str);
+	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);
@@ -298,7 +301,7 @@ const char *fmt_ident(const char *name, const char *email,
 	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);
 	}
-- 
1.7.10.1.25.g7031a0f
Previous: Jeff KingNext: Jeff King
Message 7 of 16 in “t4014 broken by 43ae9f47ab: format-patch: use default email for generating message ids”
  1. Michael HaggertyMay 24, 2012
  2. Jeff KingMay 24, 2012
  3. Junio C HamanoMay 24, 2012
  4. Jeff KingMay 24, 2012
  5. Jeff KingMay 24, 2012
  6. 1/7 ident: refactor empty ident error messageJeff King, May 24, 2012
  7. 2/7 ident: refactor NO_DATE flag in fmt_identJeff King, May 24, 2012
  8. 3/7 ident: let callers omit name with fmt_indentJeff King, May 24, 2012
  9. 4/7 format-patch: use GIT_COMMITTER_EMAIL in message idsJeff King, May 24, 2012
  10. 5/7 ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICTJeff King, May 24, 2012
  11. 6/7 ident: reject bogus email addresses with IDENT_STRICTJeff King, May 24, 2012
  12. 7/7 format-patch: do not use bogus email addresses in message idsJeff King, May 24, 2012
  13. Junio C HamanoMay 25, 2012
  14. Jeff KingMay 25, 2012
  15. Michael HaggertyMay 24, 2012
  16. Jeff KingMay 24, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.