[PATCH] date.c: print "1 second ago", not "1 seconds ago"

Subsystems: the rest

DORMANTno replies

4 messages, 2 authors, 2016-06-15 · open the first message on its own page

[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

Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:48:41

Am 4/21/2010 7:31, schrieb Øyvind A. Holm:
When using --date=relative, print "1 second ago" instead of "1 seconds
ago".
Why do you care only about about "1 seconds", but not "1 minutes", "1
hours", etc? I mean, "1 seconds ago" is the most unlikely case of them all
that will happen in practice...

-- Hannes

Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"

From: Øyvind A. Holm <hidden>
Date: 2016-06-15 22:48:41

On 21 April 2010 08:13, Johannes Sixt [off-list ref] wrote:
Am 4/21/2010 7:31, schrieb Øyvind A. Holm:
quoted
When using --date=relative, print "1 second ago" instead of "1 seconds
ago".
Why do you care only about about "1 seconds", but not "1 minutes", "1
hours", etc? I mean, "1 seconds ago" is the most unlikely case of them all
that will happen in practice...
It will never show "1 minute", "1 hour", etc. Only

  - "89 minutes" → "2 hours"
  - "35 hours" → "2 days"
  - "13 days" → "2 weeks"

and so on. Seconds is the only thing left to fix.

Cheers,
Øyvind A. Holm
(sunny256)

Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:48:41

Am 4/21/2010 8:28, schrieb Øyvind A. Holm:
It will never show "1 minute", "1 hour", etc.
I see, thanks.

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help