show_date(): rename the "relative" parameter to "mode"
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> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
094e03b039
commit
f8493ec09b
3
cache.h
3
cache.h
@ -315,7 +315,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);
|
||||
|
20
date.c
20
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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user