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