| From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Mon, 13 Apr 2015 16:35:30 -0700 |
| Subject: [PATCH] remove glibc assumption |
| |
| glibc time.h header has an undocumented __isleap macro |
| that we are using anf musl is missing it. |
| Since it is undocumented & does not appear |
| on any other libc, stop using it and just define the macro in |
| locally instead. |
| |
| Upstream-Status: Pending |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| parsetime.y | 11 +++++++---- |
| 1 file changed, 7 insertions(+), 4 deletions(-) |
| |
| diff --git a/parsetime.y b/parsetime.y |
| index 7005e88..324e6d3 100644 |
| --- a/parsetime.y |
| +++ b/parsetime.y |
| @@ -8,6 +8,9 @@ |
| |
| #define YYDEBUG 1 |
| |
| +#define is_leap_year(y) \ |
| + ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) |
| + |
| struct tm exectm; |
| static int isgmt; |
| static int yearspec; |
| @@ -217,8 +220,8 @@ date : month_name day_number |
| mnum == 12) && dnum > 31) |
| || ((mnum == 4 || mnum == 6 || mnum == 9 || |
| mnum == 11) && dnum > 30) |
| - || (mnum == 2 && dnum > 29 && __isleap(ynum+1900)) |
| - || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900)) |
| + || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900)) |
| + || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900)) |
| ) |
| { |
| yyerror("Error in day of month"); |
| @@ -261,8 +264,8 @@ date : month_name day_number |
| mnum == 12) && dnum > 31) |
| || ((mnum == 4 || mnum == 6 || mnum == 9 || |
| mnum == 11) && dnum > 30) |
| - || (mnum == 2 && dnum > 29 && __isleap(ynum+1900)) |
| - || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900)) |
| + || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900)) |
| + || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900)) |
| ) |
| { |
| yyerror("Error in day of month"); |
| -- |
| 2.1.4 |
| |