From 76c7e201491389970c022788b25c06344f5d8ecf Mon Sep 17 00:00:00 2001
From: Masahide NAKAMURA <nakam@linux-ipv6.org>
Date: Wed, 21 Feb 2007 21:47:52 +0900
Subject: [BUGFIX] VT: Fix HA prefix information lifetime overflowed display.

---
 src/ha.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/ha.c b/src/ha.c
index bca4f1f..c04e4a0 100644
--- a/src/ha.c
+++ b/src/ha.c
@@ -388,19 +388,17 @@ static int ha_plist_vt_dump(int ifindex, void *data, void *arg)
 		if (tsafter(ts_now, ple->timestamp))
 			fprintf(vh->vh_stream, "(broken)");
 		else {
-			struct timespec ts_valid = {
-				ple->ple_valid_time,
-				0
-			};
 			struct timespec ts;
+			uint32_t diff;
+
 			tssub(ts_now, ple->timestamp, ts);
-			/* "ts" is now time how log it alives */
-			if (tsafter(ts_valid, ts)) {
-				tssub(ts, ts_valid, ts);
-				fprintf(vh->vh_stream, "-%lu", ts.tv_sec);
+			diff = ts.tv_sec;
+			if (ple->ple_valid_time < diff) {
+				fprintf(vh->vh_stream, "-%u",
+					diff - ple->ple_valid_time);
 			} else {
-				tssub(ts_valid, ts, ts);
-				fprintf(vh->vh_stream, "%lu", ts.tv_sec);
+				fprintf(vh->vh_stream, "%u",
+					ple->ple_valid_time - diff);
 			}
 		}
 	}
-- 
1.5.0.3

