mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
common: New functions timegm_u64, isotime2epoch_u64.
* common/mischelp.c (timegm): Move to ... * common/gettime.c (timegm): here. On Windows use timegm_u32. (timegm_u32): New. (isotime2epoch): Factor code out to ... (isotime_make_tm): new helper. (isotime2epoch_u64): New. (_win32_timegm): Remove duplicated code. (parse_timestamp): Use of timegm. (scan_isodatestr): Fallback to isotime2epoch_u64. -- This mainly helps on 32 bit Windows. For Unix we assume everyone is using 64 bit or shall wait until the libc hackers finally provide a time64_t. GnuPG-bug-id: 6736
This commit is contained in:
parent
88b8add558
commit
bb70089d57
4 changed files with 176 additions and 154 deletions
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include <time.h> /* We need time_t. */
|
||||
#include <gpg-error.h> /* We need gpg_error_t. */
|
||||
|
||||
#include <stdint.h> /* We use uint64_t. */
|
||||
|
||||
/* A type to hold the ISO time. Note that this is the same as
|
||||
the KSBA type ksba_isotime_t. */
|
||||
|
@ -43,6 +43,11 @@ typedef char gnupg_isotime_t[16];
|
|||
#define GNUPG_ISOTIME_NONE \
|
||||
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
|
||||
|
||||
#ifndef HAVE_TIMEGM
|
||||
time_t timegm (struct tm *tm);
|
||||
#endif /*!HAVE_TIMEGM*/
|
||||
uint64_t timegm_u64 (struct tm *tm);
|
||||
|
||||
time_t gnupg_get_time (void);
|
||||
struct tm *gnupg_gmtime (const time_t *timep, struct tm *result);
|
||||
void gnupg_get_isotime (gnupg_isotime_t timebuf);
|
||||
|
@ -57,6 +62,7 @@ int isotime_p (const char *string);
|
|||
int isotime_human_p (const char *string, int date_only);
|
||||
size_t string2isotime (gnupg_isotime_t atime, const char *string);
|
||||
time_t isotime2epoch (const char *string);
|
||||
uint64_t isotime2epoch_u64 (const char *string);
|
||||
void epoch2isotime (gnupg_isotime_t timebuf, time_t atime);
|
||||
int isodate_human_to_tm (const char *string, struct tm *t);
|
||||
time_t parse_timestamp (const char *timestamp, char **endp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue