Subject: Re: [PATCH v3 11/15] ref-filter: convert variable 'width' to an unsigned int

From: Junio C Hamano <[email-masked]>
Date: Tue, 05 Jan 2016 13:12:32 -0800

Karthik Nayak <[email-masked]> writes:

> In align_atom_parser() the 'width' variable is an int, which requires
> an explicit type conversion when used in strtoul_ui(). Hence make it
> an unsigned int.
>
> Helped-by: Eric Sunshine <[email-masked]>
> Signed-off-by: Karthik Nayak <[email-masked]>
> ---

Shouldn't this be done in [09/15] from the beginning?  As it's not
like [09/15] was a pure code movement, this step looks like "Oops,
I screwed up earlier, and here is a fixup".

If we want to do this as a separate step, it would be easier to
follow if it is done _before_ 09/15 to the original of the code
movement, I think.

>  ref-filter.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/ref-filter.c b/ref-filter.c
> index ccad4c3..4f623a0 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -90,7 +90,7 @@ static void align_atom_parser(struct used_atom *atom)
>  	struct align *align = &atom->u.align;
>  	const char *buf = NULL;
>  	struct strbuf **s, **to_free;
> -	int width = -1;
> +	unsigned int width = ~0U;
>  
>  	if (!match_atom_name(atom->name, "align", &buf))
>  		die("BUG: parsing non-'align'");
> @@ -104,7 +104,7 @@ static void align_atom_parser(struct used_atom *atom)
>  		int position;
>  		buf = s[0]->buf;
>  
> -		if (!strtoul_ui(buf, 10, (unsigned int *)&width))
> +		if (!strtoul_ui(buf, 10, &width))
>  			;
>  		else if ((position = parse_align_position(buf)) >= 0)
>  			align->position = position;
> @@ -113,7 +113,7 @@ static void align_atom_parser(struct used_atom *atom)
>  		s++;
>  	}
>  
> -	if (width < 0)
> +	if (width == ~0U)
>  		die(_("positive width expected with the %%(align) atom"));
>  	align->width = width;
>  	strbuf_list_free(to_free);