[PATCH] date.c: print "1 second ago", not "1 seconds ago"
From: Øyvind A. Holm <hidden>
Date: 2016-06-15 22:48:41
When using --date=relative, print "1 second ago" instead of "1 seconds ago". t0006: Add tests for 0, 1 and 2 seconds ago, to ensure that --date=relative prints "1 second ago" and "x seconds ago" when x != 1. Signed-off-by: Øyvind A. Holm <redacted> --- date.c | 3 ++- t/t0006-date.sh | 4 ++++ 2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/date.c b/date.c
index 002aa3c..6aec22b 100644
--- a/date.c
+++ b/date.c@@ -96,7 +96,8 @@ const char *show_date_relative(unsigned long time, int tz, return "in the future"; diff = now->tv_sec - time; if (diff < 90) { - snprintf(timebuf, timebuf_size, "%lu seconds ago", diff); + snprintf(timebuf, timebuf_size, "%lu second%s ago", + diff, (diff != 1 ? "s" : "")); return timebuf; } /* Turn it into minutes */
diff --git a/t/t0006-date.sh b/t/t0006-date.sh
index 75b02af..3069545 100755
--- a/t/t0006-date.sh
+++ b/t/t0006-date.sh@@ -15,6 +15,9 @@ check_show() { " } +check_show 0 '0 seconds ago' +check_show 1 '1 second ago' +check_show 2 '2 seconds ago' check_show 5 '5 seconds ago' check_show 300 '5 minutes ago' check_show 18000 '5 hours ago'
@@ -48,6 +51,7 @@ check_approxidate() { } check_approxidate now '2009-08-30 19:20:00' +check_approxidate '1 second ago' '2009-08-30 19:19:59' check_approxidate '5 seconds ago' '2009-08-30 19:19:55' check_approxidate 5.seconds.ago '2009-08-30 19:19:55' check_approxidate 10.minutes.ago '2009-08-30 19:10:00'
--
1.7.1.rc2.5.gddd02