[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] [3.1.20] at: remove glibc assumption



Thank you for your patch.  I will study it and eventually incorporate it
when preparing the next release.
For now I do not see anything wrong with it.

Kind regards
Jose M Calhariz

On 18/07/17 03:12, Dengke Du wrote:
> 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.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> Signed-off-by: Dengke Du <dengke.du@windriver.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");



Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: