From 49f93750c890c5907bf4e94f28f076b6b1c9f060 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Wed, 27 Nov 2019 16:47:50 +0100 Subject: vty: show subscriber: show lu d,h,m,s ago, not just seconds Change-Id: I0fe34e0f065160ef959b2b7b4dd040f3f2985f43 --- src/hlr_vty_subscr.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index 0512ff6..dfbf72f 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -57,8 +57,20 @@ static void dump_last_lu_seen(struct vty *vty, const char *domain_label, time_t vty_out(vty, " last LU seen on %s: %s", domain_label, get_datestr(&last_lu_seen, datebuf, sizeof(datebuf))); if (!timestamp_age(&last_lu_seen, &age)) vty_out(vty, " (invalid timestamp)%s", VTY_NEWLINE); - else - vty_out(vty, " (%us ago)%s", age, VTY_NEWLINE); + else { + vty_out(vty, " ("); +#define UNIT_AGO(UNITNAME, UNITVAL) \ + if (age >= (UNITVAL)) { \ + vty_out(vty, "%u%s", age / (UNITVAL), UNITNAME); \ + age = age % (UNITVAL); \ + } + UNIT_AGO("d", 60*60*24); + UNIT_AGO("h", 60*60); + UNIT_AGO("m", 60); + UNIT_AGO("s", 1); + vty_out(vty, " ago)%s", VTY_NEWLINE); +#undef UNIT_AGO + } } static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr) -- cgit v1.2.3