Browse code

Use long long to format time_t-related environment variables

Signed-off-by: Jeremie Courreges-Anglas <jca@wxcvbn.org>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Message-Id: <20171105094641.55673-1-jca@wxcvbn.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg15750.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>

Jeremie Courreges-Anglas authored on 2017/11/05 18:46:41
Showing 4 changed files
... ...
@@ -553,10 +553,10 @@ setenv_int(struct env_set *es, const char *name, int value)
553 553
 }
554 554
 
555 555
 void
556
-setenv_unsigned(struct env_set *es, const char *name, unsigned int value)
556
+setenv_long_long(struct env_set *es, const char *name, long long value)
557 557
 {
558 558
     char buf[64];
559
-    openvpn_snprintf(buf, sizeof(buf), "%u", value);
559
+    openvpn_snprintf(buf, sizeof(buf), "%lld", value);
560 560
     setenv_str(es, name, buf);
561 561
 }
562 562
 
... ...
@@ -98,7 +98,7 @@ void setenv_counter(struct env_set *es, const char *name, counter_type value);
98 98
 
99 99
 void setenv_int(struct env_set *es, const char *name, int value);
100 100
 
101
-void setenv_unsigned(struct env_set *es, const char *name, unsigned int value);
101
+void setenv_long_long(struct env_set *es, const char *name, long long value);
102 102
 
103 103
 void setenv_str(struct env_set *es, const char *name, const char *value);
104 104
 
... ...
@@ -565,10 +565,7 @@ multi_client_disconnect_setenv(struct multi_context *m,
565 565
     setenv_stats(&mi->context);
566 566
 
567 567
     /* setenv connection duration */
568
-    {
569
-        const unsigned int duration = (unsigned int) now - mi->created;
570
-        setenv_unsigned(mi->context.c2.es, "time_duration", duration);
571
-    }
568
+    setenv_long_long(mi->context.c2.es, "time_duration", now - mi->created);
572 569
 }
573 570
 
574 571
 static void
... ...
@@ -1769,7 +1766,7 @@ multi_client_connect_setenv(struct multi_context *m,
1769 1769
     {
1770 1770
         const char *created_ascii = time_string(mi->created, 0, false, &gc);
1771 1771
         setenv_str(mi->context.c2.es, "time_ascii", created_ascii);
1772
-        setenv_unsigned(mi->context.c2.es, "time_unix", (unsigned int)mi->created);
1772
+        setenv_long_long(mi->context.c2.es, "time_unix", mi->created);
1773 1773
     }
1774 1774
 
1775 1775
     gc_free(&gc);
... ...
@@ -990,7 +990,7 @@ setenv_settings(struct env_set *es, const struct options *o)
990 990
     setenv_int(es, "verb", o->verbosity);
991 991
     setenv_int(es, "daemon", o->daemon);
992 992
     setenv_int(es, "daemon_log_redirect", o->log);
993
-    setenv_unsigned(es, "daemon_start_time", time(NULL));
993
+    setenv_long_long(es, "daemon_start_time", time(NULL));
994 994
     setenv_int(es, "daemon_pid", platform_getpid());
995 995
 
996 996
     if (o->connection_list)