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

[PATCH] show_date(): rename the "relative" parameter to "mode"

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 27, 2007, 15:21 UTC
Message-ID
<Pine.LNX.4.63.0702271620390.22628@wbgn013.biozentrum.uni-wuerzburg.de>

Now, show_date() can print three different kinds of dates: normal, relative and short (%Y-%m-%s) dates.

To achieve this, the "int relative" was changed to "enum date_mode mode", which has three states: DATE_NORMAL, DATE_RELATIVE and DATE_SHORT.

Since existing users of show_date() only call it with relative_date being either 0 or 1, and DATE_NORMAL and DATE_RELATIVE having these values, no behaviour is changed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 cache.h |    3 ++-
 date.c  |   20 ++++++++++++--------
 2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/cache.h b/cache.h
index 8bbc142..8f89a8b 100644
--- a/cache.h
+++ b/cache.h
@@ -326,7 +326,8 @@ extern void *read_object_with_reference(const unsigned char *sha1,
 					unsigned long *size,
 					unsigned char *sha1_ret);
 
-const char *show_date(unsigned long time, int timezone, int relative);
+enum date_mode { DATE_NORMAL = 0, DATE_RELATIVE, DATE_SHORT };
+const char *show_date(unsigned long time, int timezone, enum date_mode mode);
 const char *show_rfc2822_date(unsigned long time, int timezone);
 int parse_date(const char *date, char *buf, int bufsize);
 void datestamp(char *buf, int bufsize);
diff --git a/date.c b/date.c
index 542c004..0ceccbe 100644
--- a/date.c
+++ b/date.c
@@ -55,12 +55,12 @@ static struct tm *time_to_tm(unsigned long time, int tz)
 	return gmtime(&t);
 }
 
-const char *show_date(unsigned long time, int tz, int relative)
+const char *show_date(unsigned long time, int tz, enum date_mode mode)
 {
 	struct tm *tm;
 	static char timebuf[200];
 
-	if (relative) {
+	if (mode == DATE_RELATIVE) {
 		unsigned long diff;
 		struct timeval now;
 		gettimeofday(&now, NULL);
@@ -105,12 +105,16 @@ const char *show_date(unsigned long time, int tz, int relative)
 	tm = time_to_tm(time, tz);
 	if (!tm)
 		return NULL;
-	sprintf(timebuf, "%.3s %.3s %d %02d:%02d:%02d %d %+05d",
-		weekday_names[tm->tm_wday],
-		month_names[tm->tm_mon],
-		tm->tm_mday,
-		tm->tm_hour, tm->tm_min, tm->tm_sec,
-		tm->tm_year + 1900, tz);
+	if (mode == DATE_SHORT)
+		sprintf(timebuf, "%04d-%02d-%02d", tm->tm_year + 1900,
+				tm->tm_mon + 1, tm->tm_mday);
+	else
+		sprintf(timebuf, "%.3s %.3s %d %02d:%02d:%02d %d %+05d",
+				weekday_names[tm->tm_wday],
+				month_names[tm->tm_mon],
+				tm->tm_mday,
+				tm->tm_hour, tm->tm_min, tm->tm_sec,
+				tm->tm_year + 1900, tz);
 	return timebuf;
 }
 
-- 
1.5.0.2.2410.g737b
Next: Linus Torvalds
Message 1 of 18 in “show_date(): rename the "relative" parameter to "mode"”
  1. show_date(): rename the "relative" parameter to "mode"Johannes Schindelin, Feb 27, 2007
  2. Linus TorvaldsFeb 27, 2007
  3. Junio C HamanoFeb 27, 2007
  4. Linus TorvaldsFeb 27, 2007
  5. Johannes SchindelinFeb 27, 2007
  6. Linus TorvaldsFeb 27, 2007
  7. Johannes SchindelinFeb 27, 2007
  8. Junio C HamanoFeb 27, 2007
  9. Johannes SchindelinFeb 27, 2007
  10. Junio C HamanoFeb 27, 2007
  11. Johannes SchindelinFeb 27, 2007
  12. Linus TorvaldsFeb 27, 2007
  13. Johannes SchindelinFeb 27, 2007
  14. Linus TorvaldsFeb 27, 2007
  15. Johannes SchindelinFeb 27, 2007
  16. Linus TorvaldsFeb 27, 2007
  17. GNU ChangeLogs, was Re: [PATCH] show_date(): rename the "relative" parameter to "mode"Johannes Schindelin, Feb 27, 2007
  18. OT: Favourite log message layoutAndy Parkins, Feb 28, 2007

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.