aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-11-27 16:47:50 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-12-16 17:17:58 +0100
commit011e781da78233d37808d6973a6cef700d290301 (patch)
treeea7af79c6b55d6271a9c84e15dc46c1c0cb26a91
parentcb88c34aca2c5c13e836ca28c2423491d295b777 (diff)
vty: show subscriber: show lu d,h,m,s ago, not just seconds
-rw-r--r--src/hlr_vty_subscr.c16
1 files 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)