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

4 messages from 2010-04-21 to 2010-04-21. Participants: Øyvind A. Holm, Johannes Sixt.
Thread: https://gitlist.dev/t/23543

## Øyvind A. Holm, 2010-04-21 05:31

Subject: [PATCH] date.c: print "1 second ago", not "1 seconds ago"
Message-ID: <1271827860-20947-1-git-send-email-sunny@sunbase.org>
URL: https://gitlist.dev/e/1271827860-20947-1-git-send-email-sunny%40sunbase.org

```
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 <sunny@sunbase.org>
---
 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

```

## Johannes Sixt, 2010-04-21 06:13

Subject: Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"
Message-ID: <4BCE977D.9040700@viscovery.net>
URL: https://gitlist.dev/e/4BCE977D.9040700%40viscovery.net
In-Reply-To: <1271827860-20947-1-git-send-email-sunny@sunbase.org>

```
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

```

## Øyvind A. Holm, 2010-04-21 06:28

Subject: Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"
Message-ID: <i2jc4c738cd1004202328hb58859f8ze9eb1858f5493c66@mail.gmail.com>
URL: https://gitlist.dev/e/i2jc4c738cd1004202328hb58859f8ze9eb1858f5493c66%40mail.gmail.com
In-Reply-To: <4BCE977D.9040700@viscovery.net>

```
On 21 April 2010 08:13, Johannes Sixt <j.sixt@viscovery.net> wrote:
> 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...

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)

```

## Johannes Sixt, 2010-04-21 06:35

Subject: Re: [PATCH] date.c: print "1 second ago", not "1 seconds ago"
Message-ID: <4BCE9CA4.6010208@viscovery.net>
URL: https://gitlist.dev/e/4BCE9CA4.6010208%40viscovery.net
In-Reply-To: <i2jc4c738cd1004202328hb58859f8ze9eb1858f5493c66@mail.gmail.com>

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

I see, thanks.

-- Hannes

```
