This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 2/4] [BZ #16141] strptime: fix %z minutes calculation


On 03 Dec 2014 14:45, James Perkins wrote:
> --- a/time/strptime_l.c
> +++ b/time/strptime_l.c
>
>  	    else if (n != 4)
>  	      /* Only two or four digits recognized.  */
>  	      return NULL;
> -	    else
> -	      {
> -		/* We have to convert the minutes into decimal.  */
> -		if (val % 100 >= 60)
> -		  return NULL;
> -		val = (val / 100) * 100 + ((val % 100) * 50) / 30;
> -	      }
> +	    else if (val % 100 >= 60)
> +	      /* Minutes valid range is 0 through 59.  */
> +	      return NULL;
>  	    if (val > 1200)
>  	      return NULL;
> -	    tm->tm_gmtoff = (val * 3600) / 100;
> +	    tm->tm_gmtoff = (val / 100) * 3600 + (val % 100) * 60;

looks like you're adding a bug here with the 1200 check.  you fix it later in 
the patch series, but this follows the general policy of "don't add bugs in the 
middle of a series".  all in all, i think you should squash these 4 patches into 
one.
-mike

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]