From 95a03e54efa9798199aa3342280d071183300b57 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Mon, 19 Jul 2021 09:00:01 +0200 Subject: vty: show uptime: use timespecsub Related: OS#4609 Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff --- src/vty/command.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/vty/command.c b/src/vty/command.c index 3112fee4..bb6a6651 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -3067,13 +3067,15 @@ DEFUN(show_uptime, show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") { struct timespec now; + struct timespec uptime; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &starttime, &uptime); - time_t uptime = now.tv_sec - starttime.tv_sec; - int d = uptime / (3600 * 24); - int h = uptime / 3600 % 24; - int m = uptime / 60 % 60; - int s = uptime % 60; + int d = uptime.tv_sec / (3600 * 24); + int h = uptime.tv_sec / 3600 % 24; + int m = uptime.tv_sec / 60 % 60; + int s = uptime.tv_sec % 60; vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); -- cgit v1.2.3