Fix the display of some timers. (show ipv6 ripng and show ipv6 ripng status)
diff --git a/ripngd/ChangeLog b/ripngd/ChangeLog
index 1bafb84..2ad753a 100644
--- a/ripngd/ChangeLog
+++ b/ripngd/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-12 Emmanuel Vize <emmanuel.vize@6wind.com>
+
+ * ripngd.c: (ripng_vty_out_uptime and show_ipv6_ripng_status)
+ Use new thread_timer_remain_second to display properly the timers
+ (reported patch from Andrew J. Schorr in ripd.c)
+
2006-05-11 Paul Jakma <paul.jakma@sun.com>
* ripng_interface.c: (ripng_interface_address_add) Remove
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index a5bc28d..13a874a 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -1938,14 +1938,14 @@
if ((thread = rinfo->t_timeout) != NULL)
{
- clock = thread->u.sands.tv_sec - timer_now.tv_sec;
+ clock = thread_timer_remain_second (thread);
tm = gmtime (&clock);
strftime (timebuf, TIME_BUF, "%M:%S", tm);
vty_out (vty, "%5s", timebuf);
}
else if ((thread = rinfo->t_garbage_collect) != NULL)
{
- clock = thread->u.sands.tv_sec - timer_now.tv_sec;
+ clock = thread_timer_remain_second (thread);
tm = gmtime (&clock);
strftime (timebuf, TIME_BUF, "%M:%S", tm);
vty_out (vty, "%5s", timebuf);
@@ -2095,17 +2095,6 @@
return CMD_SUCCESS;
}
-/* Return next event time. */
-static int
-ripng_next_thread_timer (struct thread *thread)
-{
- struct timeval timer_now;
-
- gettimeofday (&timer_now, NULL);
-
- return thread->u.sands.tv_sec - timer_now.tv_sec;
-}
-
DEFUN (show_ipv6_ripng_status,
show_ipv6_ripng_status_cmd,
"show ipv6 ripng status",
@@ -2125,8 +2114,8 @@
vty_out (vty, "Routing Protocol is \"RIPng\"%s", VTY_NEWLINE);
vty_out (vty, " Sending updates every %ld seconds with +/-50%%,",
ripng->update_time);
- vty_out (vty, " next due in %d seconds%s",
- ripng_next_thread_timer (ripng->t_update),
+ vty_out (vty, " next due in %lu seconds%s",
+ thread_timer_remain_second (ripng->t_update),
VTY_NEWLINE);
vty_out (vty, " Timeout after %ld seconds,", ripng->timeout_time);
vty_out (vty, " garbage collect after %ld seconds%s", ripng->garbage_time,