summaryrefslogtreecommitdiff
path: root/system/musl/0006-time-C11-visibility-fixes.patch
blob: 5252611b555c36ab9c55676cd712406d6ab2846d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From 0979c50b831c67e0b4f4a560435b867b35cdac67 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Tue, 17 Apr 2018 21:03:15 -0500
Subject: [PATCH 6/7] time: C11 visibility fixes

The timespec_get function, and TIME_* macros, are only in C11.

Since musl is compiled with -std=c99, TIME_UTC is unavailable in the
timespec_get implementation, so we use the raw value 1.
---
 include/time.h          | 7 +++++--
 src/time/timespec_get.c | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/time.h b/include/time.h
index 672b3fc3..c5946dd0 100644
--- a/include/time.h
+++ b/include/time.h
@@ -58,11 +58,14 @@ struct tm *gmtime (const time_t *);
 struct tm *localtime (const time_t *);
 char *asctime (const struct tm *);
 char *ctime (const time_t *);
-int timespec_get(struct timespec *, int);
 
-#define CLOCKS_PER_SEC 1000000L
+#if __STDC_VERSION__ >= 201112L
+int timespec_get(struct timespec *, int);
 
 #define TIME_UTC 1
+#endif
+
+#define CLOCKS_PER_SEC 1000000L
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
diff --git a/src/time/timespec_get.c b/src/time/timespec_get.c
index 03c5a77b..c423b825 100644
--- a/src/time/timespec_get.c
+++ b/src/time/timespec_get.c
@@ -6,7 +6,7 @@ int __clock_gettime(clockid_t, struct timespec *);
  * are considered erroneous. */
 int timespec_get(struct timespec * ts, int base)
 {
-	if (base != TIME_UTC) return 0;
+	if (base != 1) return 0;
 	int ret = __clock_gettime(CLOCK_REALTIME, ts);
 	return ret < 0 ? 0 : base;
 }
-- 
2.15.0