# HG changeset patch # User Gerd Moellmann # Date 947020944 0 # Node ID 31b7a2a8ea2011bf44db2d1e2e00ed935d0fbb0f # Parent 56ea89168dba3c51a346fb7bd1af799ee354e52b (current_gif_memory_src): New variable. (gif_load): Record the address of the current memory source in current_gif_memory_src. (gif_read_from_memory): Use current_gif_memory_src. diff -r 56ea89168dba -r 31b7a2a8ea20 src/xfns.c --- a/src/xfns.c Tue Jan 04 18:45:48 2000 +0000 +++ b/src/xfns.c Tue Jan 04 21:22:24 2000 +0000 @@ -9155,7 +9155,6 @@ NULL }; - /* Return non-zero if OBJECT is a valid GIF image specification. */ static int @@ -9185,13 +9184,18 @@ } gif_memory_source; +/* Make the current memory source available to gif_read_from_memory. + It's done this way because not all versions of libungif support + a UserData field in the GifFileType structure. */ +static gif_memory_source *current_gif_memory_src; + static int gif_read_from_memory (file, buf, len) GifFileType *file; GifByteType *buf; int len; { - gif_memory_source *src = (gif_memory_source *) file->UserData; + gif_memory_source *src = current_gif_memory_src; if (len > src->len - src->index) return -1; @@ -9250,6 +9254,7 @@ else { /* Read from memory! */ + current_gif_memory_src = &memsrc; memsrc.bytes = XSTRING (specified_data)->data; memsrc.len = STRING_BYTES (XSTRING (specified_data)); memsrc.index = 0;