X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=deanimate.c;h=94311d483a6e51e10404da40503bb0558e3beca7;hp=5eaccb3f1a1017e00fa4a27d040b415a09ab8482;hb=c0e8974d6516ea7bfe97d6f6f306749dad51f855;hpb=1251e702bce39f773f2213aa419d0254cb0a4a2e diff --git a/deanimate.c b/deanimate.c index 5eaccb3f..94311d48 100644 --- a/deanimate.c +++ b/deanimate.c @@ -1,4 +1,4 @@ -const char deanimate_rcs[] = "$Id: deanimate.c,v 1.5 2001/09/10 10:16:06 oes Exp $"; +const char deanimate_rcs[] = "$Id: deanimate.c,v 1.10 2002/03/24 13:25:43 swa Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $ @@ -10,7 +10,7 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.5 2001/09/10 10:16:06 oes Exp * gif_extract_image * * Copyright : Written by and Copyright (C) 2001 by the the SourceForge - * IJBSWA team. http://ijbswa.sourceforge.net + * Privoxy team. http://www.privoxy.org/ * * Based on the GIF file format specification (see * http://tronche.com/computer-graphics/gif/gif89a.html) @@ -37,6 +37,21 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.5 2001/09/10 10:16:06 oes Exp * * Revisions : * $Log: deanimate.c,v $ + * Revision 1.10 2002/03/24 13:25:43 swa + * name change related issues + * + * Revision 1.9 2002/03/13 00:27:04 jongfoster + * Killing warnings + * + * Revision 1.8 2002/03/09 19:42:47 jongfoster + * Fixing more warnings + * + * Revision 1.7 2002/03/08 17:46:04 jongfoster + * Fixing int/size_t warnings + * + * Revision 1.6 2002/03/07 03:46:17 oes + * Fixed compiler warnings + * * Revision 1.5 2001/09/10 10:16:06 oes * Silenced compiler warnings * @@ -100,7 +115,7 @@ void buf_free(struct binbuffer *buf) * * Description : Ensure that a given binbuffer can hold a given amount * of bytes, by reallocating its buffer if necessary. - * Allocate new mem in chunks of 1000 bytes, so we don't + * Allocate new mem in chunks of 1024 bytes, so we don't * have to realloc() too often. * * Parameters : @@ -117,7 +132,7 @@ int buf_extend(struct binbuffer *buf, size_t length) if (buf->offset + length > buf->size) { - buf->size = buf->size + length + 1000 - (buf->size + length) % 1000; + buf->size = ((buf->size + length + (size_t)1023) & ~(size_t)1023); newbuf = (char *)realloc(buf->buffer, buf->size); if (newbuf == NULL) @@ -198,7 +213,7 @@ int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length) * Returns : The byte on success, or 0 on failiure * *********************************************************************/ -unsigned char buf_getbyte(struct binbuffer *src, int offset) +unsigned char buf_getbyte(struct binbuffer *src, size_t offset) { if (src->offset + offset < src->size) { @@ -236,7 +251,7 @@ int gif_skip_data_block(struct binbuffer *buf) * by a one-byte length field, with the last chunk having * zero length. */ - while((c = buf_getbyte(buf, 0))) + while((c = buf_getbyte(buf, 0)) != '\0') { if ((buf->offset += c + 1) >= buf->size - 1) { @@ -294,16 +309,16 @@ int gif_extract_image(struct binbuffer *src, struct binbuffer *dst) /* * Copy the image chunk by chunk. */ - while((c = buf_getbyte(src, 0))) + while((c = buf_getbyte(src, 0)) != '\0') { - if (buf_copy(src, dst, (size_t) c + 1)) return 1; + if (buf_copy(src, dst, 1 + (size_t) c)) return 1; } if (buf_copy(src, dst, 1)) return 1; /* * Trim and rewind the dst buffer */ - if (NULL == (dst->buffer = (char *)realloc(dst->buffer, (size_t) dst->offset))) return 1; + if (NULL == (dst->buffer = (char *)realloc(dst->buffer, dst->offset))) return 1; dst->size = dst->offset; dst->offset = 0;