vty: show subscriber: show lu d,h,m,s ago, not just seconds

Change-Id: I0fe34e0f065160ef959b2b7b4dd040f3f2985f43
This commit is contained in:
Neels Hofmeyr
2019-11-27 16:47:50 +01:00
parent c4daec420c
commit bf9ee62acd

View File

@@ -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)