From 2ad757793d04dfbdc5ee3c8bdb9862f05c64f6ed Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 17 Mar 2007 14:45:41 +0000 Subject: [PATCH] make sure unsigned time_t doesn't hurt (follow-on to ITS#4872) --- servers/slapd/daemon.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 9f86d3d130..9a3eb6b567 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -2113,8 +2113,14 @@ slapd_daemon_task( ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); if ( rtask && cat.tv_sec ) { - time_t diff = difftime( cat.tv_sec, now ); - if ( diff == 0 ) diff = tdelta; + /* NOTE: diff __should__ always be >= 0, + * AFAI understand; however (ITS#4872), + * time_t might be unsigned in some systems, + * while difftime() returns a double */ + double diff = difftime( cat.tv_sec, now ); + if ( diff <= 0 ) { + diff = tdelta; + } if ( tvp == NULL || diff < tv.tv_sec ) { tv.tv_sec = diff; tv.tv_usec = 0; -- 2.39.5