blob: f8a5e59f4d9e394d890941f40429fba00032041d [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Apr 2015 16:35:30 -0700
4Subject: [PATCH] remove glibc assumption
5
6glibc time.h header has an undocumented __isleap macro
7that we are using anf musl is missing it.
8Since it is undocumented & does not appear
9on any other libc, stop using it and just define the macro in
10locally instead.
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15[patch from: http://patchwork.openembedded.org/patch/91893/ ]
16Signed-off-by: Phil Eichinger <phil@zankapfel.net>
17---
18 parsetime.y | 11 +++++++----
19 1 file changed, 7 insertions(+), 4 deletions(-)
20
21--- a/parsetime.y
22+++ b/parsetime.y
23@@ -14,6 +14,9 @@
24 ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
25 #endif
26
27+#define is_leap_year(y) \
28+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
29+
30 struct tm exectm;
31 static int isgmt;
32 static char *tz = NULL;
33@@ -230,8 +233,8 @@ date : month_name day_number
34 mnum == 12) && dnum > 31)
35 || ((mnum == 4 || mnum == 6 || mnum == 9 ||
36 mnum == 11) && dnum > 30)
37- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
38- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
39+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
40+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
41 )
42 {
43 yyerror("Error in day of month");
44@@ -274,8 +277,8 @@ date : month_name day_number
45 mnum == 12) && dnum > 31)
46 || ((mnum == 4 || mnum == 6 || mnum == 9 ||
47 mnum == 11) && dnum > 30)
48- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
49- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
50+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
51+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
52 )
53 {
54 yyerror("Error in day of month");