summaryrefslogtreecommitdiff
path: root/libnsgif.c
diff options
context:
space:
mode:
authorSean Fox <dyntryx@gmail.com>2008-06-27 03:23:02 +0000
committerSean Fox <dyntryx@gmail.com>2008-06-27 03:23:02 +0000
commitf93d20f3f5dbb40e706a951d628140baeb4880db (patch)
tree04cbeeccfda21b56c74d05ba042a6c867bbf7c33 /libnsgif.c
parent5d7db2d67b65963955beb05d30184ac28d898ddb (diff)
downloadlibnsgif-f93d20f3f5dbb40e706a951d628140baeb4880db.tar.gz
libnsgif-f93d20f3f5dbb40e706a951d628140baeb4880db.tar.bz2
Type correction; clear gif_animation's memory in gif_create()
svn path=/branches/dynis/libnsgif/; revision=4460
Diffstat (limited to 'libnsgif.c')
-rw-r--r--libnsgif.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/libnsgif.c b/libnsgif.c
index 0219def..70a37b4 100644
--- a/libnsgif.c
+++ b/libnsgif.c
@@ -149,21 +149,17 @@ static bool get_done;
*/
static bool clear_image = false;
+
+
/** Initialises necessary gif_animation members.
*/
void gif_create(gif_animation *gif, gif_bitmap_callback_vt *bitmap_callbacks) {
+ memset(gif, 0, sizeof(gif_animation));
gif->bitmap_callbacks = *bitmap_callbacks;
- gif->gif_data = NULL;
- gif->frame_image = NULL;
- gif->frames = NULL;
- gif->local_colour_table = NULL;
- gif->global_colour_table = NULL;
- gif->buffer_position = 0;
- gif->frame_count = 0;
- gif->frame_count_partial = 0;
gif->decoded_frame = GIF_INVALID_FRAME;
}
+
/** Initialises any workspace held by the animation and attempts to decode
any information that hasn't already been decoded.
If an error occurs, all previously decoded frames are retained.
@@ -363,7 +359,6 @@ gif_result gif_initialise(gif_animation *gif, size_t size, unsigned char *data)
}
-
/** Updates the sprite memory size
@return GIF_INSUFFICIENT_MEMORY for a memory error