Hello.

On 02-02-2011 19:41, Catalin Radu wrote:

> diff --git a/lib/gunzip.c b/lib/gunzip.c
> index 482a476..18cb45b 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);
> +        if ((r != Z_STREAM_END)&&  (r != Z_BUF_ERROR)&&  (stoponerr==1)) {
> +            printf ("Error: inflate() returned %d\n", r);
> +            inflateEnd(&s);
> +            return (-1);
> +        }
> +        s.avail_in = *lenp - offset - (int)(s.next_out - (unsigned 
> char*)dst);
> +        s.avail_out = dstlen;
> +    } while (r == Z_BUF_ERROR);

    Don't use spaces for indenting, only tabs.

WBR, Sergei
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to