-const char deanimate_rcs[] = "$Id: deanimate.c,v 1.3 2001/07/15 13:57:50 jongfoster Exp $";
+const char deanimate_rcs[] = "$Id: deanimate.c,v 1.5 2001/09/10 10:16:06 oes Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $
*
* Revisions :
* $Log: deanimate.c,v $
+ * Revision 1.5 2001/09/10 10:16:06 oes
+ * Silenced compiler warnings
+ *
+ * Revision 1.4 2001/07/18 12:28:49 oes
+ * - Added feature for extracting the first frame
+ * to gif_deanimate
+ * - Separated image buffer extension into buf_extend
+ * - Extended gif deanimation to GIF87a (untested!)
+ * - Cosmetics
+ *
* Revision 1.3 2001/07/15 13:57:50 jongfoster
* Adding #includes string.h and miscutil.h
*
* Returns : 0 on success, 1 on failiure.
*
*********************************************************************/
-int buf_extend(struct binbuffer *buf, int length)
+int buf_extend(struct binbuffer *buf, size_t length)
{
char *newbuf;
* Returns : 0 on success, 1 on failiure.
*
*********************************************************************/
-int buf_copy(struct binbuffer *src, struct binbuffer *dst, int length)
+int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
{
/*
* 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)))
{
if ((buf->offset += c + 1) >= buf->size - 1)
{
*/
if (c & 0x80)
{
- if (buf_copy(src, dst, 3 * (1 << ((c & 0x07) + 1))))
+ if (buf_copy(src, dst, (size_t) 3 * (1 << ((c & 0x07) + 1))))
{
return 1;
}
/*
* Copy the image chunk by chunk.
*/
- while(c = buf_getbyte(src, 0))
+ while((c = buf_getbyte(src, 0)))
{
- if (buf_copy(src, dst, c + 1)) return 1;
+ if (buf_copy(src, dst, (size_t) c + 1)) return 1;
}
if (buf_copy(src, dst, 1)) return 1;
/*
* Trim and rewind the dst buffer
*/
- if (NULL == (dst->buffer = (char *)realloc(dst->buffer, dst->offset))) return 1;
+ if (NULL == (dst->buffer = (char *)realloc(dst->buffer, (size_t) dst->offset))) return 1;
dst->size = dst->offset;
dst->offset = 0;
*/
if(c & 0x80)
{
- if (buf_copy(src, dst, 3 * (1 << ((c & 0x07) + 1))))
+ if (buf_copy(src, dst, (size_t) 3 * (1 << ((c & 0x07) + 1))))
{
return 1;
}