at: bring back package
[feed/packages.git] / utils / at / patches / 100-remove-glibc-assumption.patch
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