aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl-Heinz Zimmer <[email protected]>2002-09-29 21:14:16 +0000
committerKarl-Heinz Zimmer <[email protected]>2002-09-29 21:14:16 +0000
commitfb19756ec6fbd0ba793421c70404025ea62d44d9 (patch)
treee32e69974cf5f39d56fb6969017b4684b97112e8
parent2002-09-28 Marcus Brinkmann <[email protected]> (diff)
downloadgpgme-fb19756ec6fbd0ba793421c70404025ea62d44d9.tar.gz
gpgme-fb19756ec6fbd0ba793421c70404025ea62d44d9.zip
Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCertificateDaysLeftToExpiry() handle the case that a certificate _never_ expires correctly.
-rw-r--r--trunk/gpgmeplug/gpgmeplug.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/trunk/gpgmeplug/gpgmeplug.c b/trunk/gpgmeplug/gpgmeplug.c
index 6e17c554..03d3dbe5 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 );
}
}