lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

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