please review/merge the attached patch
Date: 2024-09-20
Description: use gp_get_realtime to fetch time
to use the same single interface everywhere consistently.
--- a/devices/vector/gdevpdf.c
+++ b/devices/vector/gdevpdf.c
@@ -437,6 +437,7 @@
if (!pdev->OmitInfoDate)
{
struct tm tms;
+ long secs_ns[2];
time_t t;
char buf[1+2+4+2+2+2+2+2+1+2+1+2+1+1+1]; /* (D:yyyymmddhhmmssZhh'mm')\0 */
int timeoffset;
@@ -448,7 +449,8 @@
timesign = 'Z';
timeoffset = 0;
#else
- time(&t);
+ gp_get_realtime(secs_ns);
+ t = secs_ns[0];
tms = *gmtime(&t);
tms.tm_isdst = -1;
timeoffset = (int)difftime(t, mktime(&tms)); /* tz+dst in seconds */
--- a/devices/vector/gdevpdfe.c
+++ b/devices/vector/gdevpdfe.c
@@ -216,6 +216,7 @@
{
/* We don't write a day time because we don't have a time zone. */
struct tm tms;
+ long secs_ns[2];
time_t t;
char buf1[4+1+2+1+2+1]; /* yyyy-mm-dd\0 */
@@ -223,7 +224,8 @@
memset(&t, 0, sizeof(t));
memset(&tms, 0, sizeof(tms));
#else
- time(&t);
+ gp_get_realtime(secs_ns);
+ t = secs_ns[0];
tms = *localtime(&t);
#endif
gs_snprintf(buf1, sizeof(buf1),
--- a/devices/vector/gdevpsu.c
+++ b/devices/vector/gdevpsu.c
@@ -187,6 +187,7 @@
dev->dname);
#endif
{
+ long secs_ns[2];
time_t t;
struct tm tms;
@@ -194,7 +195,8 @@
memset(&t, 0, sizeof(t));
memset(&tms, 0, sizeof(tms));
#else
- time(&t);
+ gp_get_realtime(secs_ns);
+ t = secs_ns[0];
tms = *localtime(&t);
#endif
fprintf(f, "%%%%CreationDate: %d/%02d/%02d %02d:%02d:%02d\n",
OpenPGP_signature.asc
Description: OpenPGP digital signature
