aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyid.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2010-10-27 11:26:53 +0000
committerWerner Koch <[email protected]>2010-10-27 11:26:53 +0000
commit2e82b095cd2ebd3ecc1635bb5cbe65eb99de7ae7 (patch)
treeb87aea270583496526aff9f82b927f6298662451 /g10/keyid.c
parentHonor TMPDIR. (diff)
downloadgnupg-2e82b095cd2ebd3ecc1635bb5cbe65eb99de7ae7.tar.gz
gnupg-2e82b095cd2ebd3ecc1635bb5cbe65eb99de7ae7.zip
Better support unsigned time_t
Diffstat (limited to 'g10/keyid.c')
-rw-r--r--g10/keyid.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/g10/keyid.c b/g10/keyid.c
index 128428720..62ce03685 100644
--- a/g10/keyid.c
+++ b/g10/keyid.c
@@ -37,6 +37,13 @@
#define KEYID_STR_SIZE 19
+#ifdef HAVE_UNSIGNED_TIME_T
+# define IS_INVALID_TIME_T(a) ((a) == (time_t)(-1))
+#else
+ /* Error or 32 bit time_t and value after 2038-01-19. */
+# define IS_INVALID_TIME_T(a) ((a) < 0)
+#endif
+
/* Return a letter describing the public key algorithms. */
int
@@ -446,12 +453,8 @@ mk_datestr (char *buffer, time_t atime)
{
struct tm *tp;
- /* Note: VMS uses an unsigned time_t thus the compiler yields a
- warning here. You may ignore this warning or def out this test
- for VMS. The proper way to handle this would be a configure test
- to a detect properly implemented unsigned time_t. */
- if ( atime < 0 ) /* 32 bit time_t and after 2038-01-19 */
- strcpy (buffer, "????" "-??" "-??"); /* mark this as invalid */
+ if (IS_INVALID_TIME_T (atime))
+ strcpy (buffer, "????" "-??" "-??"); /* Mark this as invalid. */
else
{
tp = gmtime (&atime);