From: Pierangelo Masarati Date: Sat, 17 Mar 2007 14:45:41 +0000 (+0000) Subject: make sure unsigned time_t doesn't hurt (follow-on to ITS#4872) X-Git-Tag: OPENLDAP_REL_ENG_2_4_MP~610 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2ad757793d04dfbdc5ee3c8bdb9862f05c64f6ed;p=openldap make sure unsigned time_t doesn't hurt (follow-on to ITS#4872) --- 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;