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",

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature



Reply via email to