[U-Boot] [PATCH] Fix gunzip to work for any gziped uImage size

Anthony Foiani tkil at scrye.com
Fri Feb 4 06:23:49 CET 2011


Catalin, greetings!

Some very minor code style issues that I noticed.  All cosmetic.

Catalin Radu <Catalin at VirtualMetrix.com> writes:

> Signed-off-by: Catalin Radu <Catalin at VirtualMetrix.com>
> ---
>  lib/gunzip.c |   16 ++++++++++------
>  1 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/lib/gunzip.c b/lib/gunzip.c
> index 482a476..2922608 100644
> --- a/lib/gunzip.c
> +++ b/lib/gunzip.c
> @@ -106,12 +106,16 @@ int zunzip(void *dst, int dstlen, unsigned char *src, unsigned long *lenp,
>  	s.avail_in = *lenp - offset;
>  	s.next_out = dst;
>  	s.avail_out = dstlen;
> -	r = inflate(&s, Z_FINISH);
> -	if ((r != Z_STREAM_END) && (stoponerr==1)) {
> -		printf ("Error: inflate() returned %d\n", r);
> -		inflateEnd(&s);
> -		return (-1);
> -	}
> +	do {
> +		r = inflate(&s, Z_FINISH);

Space after function name?

> +		if ((r != Z_STREAM_END)&&  (r != Z_BUF_ERROR)&&  (stoponerr==1)) {

Inconsistent spacing around && operator.

Parentheses around each condition are unnecessary (both "==" and "!="
bind tighter than "&&"), but I suppose that's basically personal
preference (and the code being replaced did it that way.)

> +			printf ("Error: inflate() returned %d\n", r);
> +			inflateEnd(&s);

Space after function name?

> +	   		return (-1);

These parentheses are unnecessary.  (Another question of taste:
"return" is a keyword, not a function.)

> +	   	}
> +		s.avail_in = *lenp - offset - (int)(s.next_out - (unsigned char*)dst);
> +		s.avail_out = dstlen;
> +	} while (r == Z_BUF_ERROR);
>  	*lenp = s.next_out - (unsigned char *) dst;
>  	inflateEnd(&s);

Space after function name?

As I said, all totally trivial, but especially those "&&  " caught my eye.  :)

Best regards,
Tony


More information about the U-Boot mailing list