From 29f4332e66abf41e90d2f38e62370a42d8549c7e Mon Sep 17 00:00:00 2001 From: "Stephen P. Smith" Date: Wed, 11 Sep 2019 21:11:01 -0700 Subject: Quit passing 'now' to date code Commit b841d4ff43 (Add `human` format to test-tool, 2019-01-28) added a get_time() function which allows $GIT_TEST_DATE_NOW in the environment to override the current time. So we no longer need to interpret that variable in cmd__date(). Therefore, we can stop passing the "now" parameter down through the date functions, since nobody uses them. Note that we do need to make sure all of the previous callers that took a "now" parameter are correctly using get_time(). Signed-off-by: Stephen P. Smith Signed-off-by: Junio C Hamano --- date.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'date.c') diff --git a/date.c b/date.c index 8126146c50..041db7db4e 100644 --- a/date.c +++ b/date.c @@ -128,16 +128,17 @@ static void get_time(struct timeval *now) gettimeofday(now, NULL); } -void show_date_relative(timestamp_t time, - const struct timeval *now, - struct strbuf *timebuf) +void show_date_relative(timestamp_t time, struct strbuf *timebuf) { + struct timeval now; timestamp_t diff; - if (now->tv_sec < time) { + + get_time(&now); + if (now.tv_sec < time) { strbuf_addstr(timebuf, _("in the future")); return; } - diff = now->tv_sec - time; + diff = now.tv_sec - time; if (diff < 90) { strbuf_addf(timebuf, Q_("%"PRItime" second ago", "%"PRItime" seconds ago", diff), diff); @@ -240,9 +241,7 @@ static void show_date_normal(struct strbuf *buf, timestamp_t time, struct tm *tm /* Show "today" times as just relative times */ if (hide.wday) { - struct timeval now; - get_time(&now); - show_date_relative(time, &now, buf); + show_date_relative(time, buf); return; } @@ -313,11 +312,8 @@ const char *show_date(timestamp_t time, int tz, const struct date_mode *mode) } if (mode->type == DATE_RELATIVE) { - struct timeval now; - strbuf_reset(&timebuf); - get_time(&now); - show_date_relative(time, &now, &timebuf); + show_date_relative(time, &timebuf); return timebuf.buf; } @@ -1288,15 +1284,18 @@ static timestamp_t approxidate_str(const char *date, return (timestamp_t)update_tm(&tm, &now, 0); } -timestamp_t approxidate_relative(const char *date, const struct timeval *tv) +timestamp_t approxidate_relative(const char *date) { + struct timeval tv; timestamp_t timestamp; int offset; int errors = 0; if (!parse_date_basic(date, ×tamp, &offset)) return timestamp; - return approxidate_str(date, tv, &errors); + + get_time(&tv); + return approxidate_str(date, (const struct timeval *) &tv, &errors); } timestamp_t approxidate_careful(const char *date, int *error_ret) -- cgit v1.2.3