From: Karl-Heinz Zimmer Date: Sun, 29 Sep 2002 21:14:16 +0000 (+0000) Subject: Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCerti... X-Git-Tag: gpgme-1.2.0@1385~805 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fb19756ec6fbd0ba793421c70404025ea62d44d9;p=gpgme.git Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCertificateDaysLeftToExpiry() handle the case that a certificate _never_ expires correctly. --- diff --git a/trunk/gpgmeplug/gpgmeplug.c b/trunk/gpgmeplug/gpgmeplug.c index 6e17c55..03d3dbe 100644 --- a/trunk/gpgmeplug/gpgmeplug.c +++ b/trunk/gpgmeplug/gpgmeplug.c @@ -557,13 +557,15 @@ int signatureCertificateDaysLeftToExpiry( const char* certificate ) if ( GPGME_No_Error == err ) { time_t expire_time = gpgme_key_get_ulong_attr( rKey, GPGME_ATTR_EXPIRE, NULL, 0 ); - time_t cur_time = time (NULL); - if( cur_time > expire_time ) { - daysLeft = days_from_seconds(cur_time - expire_time); - daysLeft *= -1; + if ( 0 != expire_time ) { + time_t cur_time = time (NULL); + if( cur_time > expire_time ) { + daysLeft = days_from_seconds(cur_time - expire_time); + daysLeft *= -1; + } + else + daysLeft = days_from_seconds(expire_time - cur_time); } - else - daysLeft = days_from_seconds(expire_time - cur_time); gpgme_key_release( rKey ); } } @@ -847,13 +849,15 @@ int receiverCertificateDaysLeftToExpiry( const char* certificate ) if ( GPGME_No_Error == err ) { time_t expire_time = gpgme_key_get_ulong_attr( rKey,GPGME_ATTR_EXPIRE, NULL, 0 ); - time_t cur_time = time (NULL); - if( cur_time > expire_time ) { - daysLeft = days_from_seconds(cur_time - expire_time); - daysLeft *= -1; + if ( 0 != expire_time ) { + time_t cur_time = time (NULL); + if( cur_time > expire_time ) { + daysLeft = days_from_seconds(cur_time - expire_time); + daysLeft *= -1; + } + else + daysLeft = days_from_seconds(expire_time - cur_time); } - else - daysLeft = days_from_seconds(expire_time - cur_time); gpgme_key_release( rKey ); } }