?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/giflib.zip
???????
PK ���[�37�w �w NEWSnu �[��� GIFLIB NEWS Version 5.2.1 ============== This is the "Maybe I shouldn't have dome a release while imn surgical recovery" release. * In gifbuild.c, avoid a core dump on no color map. * Restore inadvertently removed library version numbers in Makefile. Version 5.2.0 ============= The undocumented and deprecated GifQuantizeBuffer() entry point has been moved to the util library to reduce libgif size and attack surface. Applications needing this function are couraged to link the util library or make their own copy. The following obsolete utility programs are no longer installed: gifecho, giffilter, gifinto, gifsponge. These were either installed in error or have been obsolesced by modern image-transformmation tools like ImageMagick convert. They may be removed entirely in a future release. * Address SourceForge issue #136: Stack-buffer-overflow in gifcolor.c:84 * Address SF bug #134: Giflib fails to slurp significant number of gifs * Apply SPDX convention for license tagging. Version 5.1.9 ============= The documentation directory now includes an HTMlified version of the GIF89 standard, and a more detailed description of how LZW compression is applied to GIFs. * Address SF bug #129: The latest version of giflib cannot be build on windows. * Address SF bug #126: Cannot compile giflib using c89 Version 5.1.8 ============= * Address SF bug #119: MemorySanitizer: FPE on unknown address * Address SF bug #125: 5.1.7: xmlto is still required for tarball * Address SF bug #124: 5.1.7: ar invocation is not crosscompile compatible * Address SF bug #122: 5.1.7 installs manpages to wrong directory * Address SF bug #121: make: getversion: Command not found * Address SF bug #120: 5.1.7 does not build a proper library - no Version 5.1.7 ============= Correct a minor packaging error (superfluous symlinks) in the 5.1.6 tarballs. Version 5.1.6 ============= Build Fixes ----------- Fix library installation in the Makefile. Version 5.1.5 ============= Code Fixes ---------- * Fix SF bug #114: Null dereferences in main() of gifclrmp * Fix SF bug #113: Heap Buffer Overflow-2 in function DGifDecompressLine() in cgif.c. This had been assigned CVE-2018-11490. * Fix SF bug #111: segmentation fault in PrintCodeBlock * Fix SF bug #109: Segmentation fault of giftool reading a crafted file * Fix SF bug #107: Floating point exception in giftext utility * Fix SF bug #105: heap buffer overflow in DumpScreen2RGB in gif2rgb.c:317 * Fix SF bug #104: Ineffective bounds check in DGifSlurp ^ Fix SF bug #103: GIFLIB 5.1.4: DGifSlurp fails on empty comment * Fix SF bug #87: Heap buffer overflow in 5.1.2 (gif2rgb). Build Fixes ----------- The horrible old autoconf build system has been removed with extreme prejudice. You now build this simply by running "make" from the top-level directory. Version 5.1.4 ============= Code Fixes ---------- * Fix SF bug #94: giflib 5 loves to fail to load images... a LOT. * Fix SF Bug #92: Fix buffer overread in gifbuild. * Fix SF Bug #93: Add bounds check in gifbuild netscape2.0 path * Fix SF Bug #89: Fix buffer overread in gifbuild. Version 5.1.3 ============= As of this version the library and code has been seriously abused by fuzzers, smoking out crash bugs (now fixed) induced by various kinds of severely malformed GIF. Code Fixes ---------- * Prevent malloc randomess from causing the header output routine to emit a GIF89 version string even when no GIF89 features are present. Only breaks tests, not production code, but it's odd this wasn't caught sooner. * Prevent malloc randomess from producing sporadic failures by causing sanity checks added in 5.1.2 to misfire. * Bulletproof gif2rgb against 0-height images. Addressed SF bug #78: Heap overflow in gif2rgb with images of size 0, also SF bug #82. * Remove unnecessary duplicate EGifClose() in gifcolor.c. Fixes SF bug #83 introduced in 5.1.2. * Fix SF Bug #84: incorrect return of DGifSlurp(). Version 5.1.2 ============= Code Fixes ---------- * Code hardening using reallocarray() from OpenBSD. * Sanity check in giffilter catches files with malformed extension records Fixes SourceForge bug #63: malformed gif causes segfault in giffilter. * Inexpensive sanity check in DGifSlurp() catches malformed files with no image descriptor. Fixes SourceForge bug #64: malformed gif causes crash in giftool. * Fix SourceForge bug #66: GifDrawBoxedText8x8() modifying constant input parameter. * Bail out of GIF read on invalid pixel width. Addresses Savannah bug #67: invalid shift in dgif_lib.c * Fix SourceForge bug #69: #69 Malformed: Gif file with no extension block after a GRAPHICS_EXT_FUNC_CODE extension causes segfault (in giftext). * Fix SourceForge bug #71: Buffer overwrite when giffixing a malformed gif. * Fix SourceForge bug #73: Null pointer deference in gifclrmap (only reachable with malformed GIF). * Fix SourceForge bug #74: Double free in gifsponge under 5.1.1, for any valid gif image. * Fix SourceForge bug #75: GAGetArgs overflows due to uncounted use of va_arg. * Sanity check in giffix catches some malformed files. Addresses SourceForge bug #77: dgif_lib.c: extension processing error Version 5.1.1 ============= Code Fixes ---------- * Numerous minor fixes in getarg.c. Affects only the utilities, not the core library. * Fix SourceForge bug #59: DGifOpen can segfault if DGifGetScreenDesc fails. * SourceForge patch #20: In gifalloc, fix usage of realloc() in case of failure. * Fix SourceForge bug #61 Leak in gifsponge. Build Fixes ---------- * glibtoolize port fix for OS X. Version 5.1.0 ============= Changes to the API require a library major-version bump. Code Fixes ---------- * A small change to the API: DGifClose() and EGifClose() now take a pointer-to-int second argument (like the corresponding openers) where a diagnostic code will be deposited when they return GIF_ERROR. This replaces the old behavior in which the GifFile structure was left unfreed so the Error member in it could be filled and remain available. The change was was required because it's not always possible to free the struct afterwards. Case in point is a C# wrapper for giflib (or any language/environment where you can't just free objects allocated in a foreign shared library.) * Minor fix for SF bug #56; BitsPerPixel may be left as uninitialized value when reading (truncated) gif. * Applied SF patch #17: Use a fallback on Windows where mkstemp is not available. * Applied SF patch #15: Code hardening, preventing spurious defective-image messages. Retirements ----------- * Removed gif2raw from utils. Its blithe assumption that the EGA16 palette is a reliable default is now about 20 years obsolete. Format conversion is better done with convert(1) from the ImageMagick suite, anyway. Version 5.0.6 ============= Minor fix for a rare memory leak (SF bug #55). MinGW port fixes. Repair the internal quantization function used in gif2rgb so it's less vulnerable to cross-platform skew due to qsort() being unstable. This shouldn't affect production use, it's just a cross-platform issue for regression testing Version 5.0.5 ============= Set the error return properly when a screen descriptor read fails. Fixes for some minor API documentation bugs. Some internal manual pages are not to be installed. Version 5.0.4 ============= Fix for a rare misrendering bug when a GIF overruns the decompression-code table. The image on which this was spotted was a relatively long-running animated GIF; still images of ordinary size should have been immune. Version 5.0.3 ============= Fix a build-system glitch so it will install manpages. Version 5.0.2 ============= Documentation and polish ------------------------ * Partial build is now possible on systems without xmlto. Code Fixes ---------- * Change unused return of EGifSetGifVersion() to void. * Buffer overrun prevention in gifinto. Version 5.0.1 ============= Documentation and polish ------------------------ * There is now an installable manual page for the GIFLIB utility kit. Retirements ----------- * gifinter is gone. Use "convert -interlace line" from the ImageMagick suite. Code Fixes ---------- * In 5.0.0 the private gif89 bit wasn't being guaranteed cleared at the beginning of EGifGetGifVersion(); this occasionally led to an incorrect version prefix being issued dependent on the state of malloced memory. * An EGifSetGifVersion() function taking a GifFile argument has been added for use with the low-level sequential API. This change requires a bump of the library revision number. Version 5.0.0 ============= Changes to the API require a library major-version bump. Certain initialization functions have acquired an integer address argument for passing back an error code, in order to avoid thread-unsafe static storage. Application code using extension blocks will require minor changes. A few functions have been renamed. Code Fixes ---------- * Fixes applied for CVE-2005-2974 and CVE-2005-3350 This closes Debian bug #337972. New API Features ---------------- Thread Safety ~~~~~~~~~~~~~ The library is now completely re-entrant and thread-safe. * Library error handling no longer uses a static cell to store the last error code registered; that made the library thread-unsafe. For functions other than GIF file openers, the code is now put in an Error member of the GifFileType structure. The GifError() and GifLastError() functions that referenced that static cell are gone, and the GifErrorString() function introduced in the 4.2 release now takes an explicit error code argument. * GIF file openers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(), EGifOpenFileName(), EGifOpenFileHandle(), and EGifOpen() - all now take a final integer address argument. If non-null, this is used to pass back an error code when the function returns NULL. Extensions ~~~~~~~~~~ The ExtensionBlock API has been repaired, solving some problems with GIF89 extension handling in earlier versions. * DGifSlurp() and EGifSpew() now preserve trailing extension blocks with no following image file. * Three documented functions - EGifPutExtensionFirst(), EGifPutExtensionNext(), and EGifPutExtensionLast() - have been relaced by new functions EGifPutExtensionLeader(), EGifPutExtensionBlock(), and EGifPutExtensionTrailer(). See the Compatibility section of the library API documentation for details. * New functions DGifSavedExtensionToGCB() and EGifGCBToSavedExtension() make it easy to read and edit GIF89 graphics control blocks in saved images. Namespacing ~~~~~~~~~~~ All functions exported by giflib now have DGif, EGif, or Gif as a name prefix. * Three documented functions - MakeMapObject(), FreeMapObject(), and UnionColorMap() - have been renamed to GifMakeMapObject(), GifFreeMapObject(), and GifUnionColorMap() respectively. * The library Draw* functions are now prefixed GifDraw*, and the text-drawing ones are suffixed with "8x8". This fixes a conflict with the Windows API and leaves the door open for more general text-drawing functions with different font sizes. Other changes ~~~~~~~~~~~~~ * DGifSlurp() and EGifSpew() now read and write interlaced images properly. * The amazingly obscure colormap sort flag and pixel aspect ratio features of GIF are now read and preserved, for whatever good that may do. * Six undocumented functions have been renamed; five of these take additional or slightly different argument types. See the Compatibility section of the library API documentation for details. * There's now an EGifGetGifVersion() that computes the version EGifSpew() will write. * QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer() - turns out some important applications (notably mplayer) were using it. * TRUE and FALSE macros are gone, also VoidPtr. No more namespace pollution. * Various arguments have been made const where possible. Retirements ----------- * The (undocumented) gifinfo utility is gone. Use giftool -f instead. * The gifburst utility is gone. Everybody has image viewers that can pan now, and removing it gets rid of a dependency on Perl. * gifcompose is gone. It was a decent idea when I wrote it in 1989, but I did the same thing better and cleaner a decade later with PILdriver in the PIL package. Removing it gets rid of a dependency on shell. * gif2x11 gifasm, gifcomb, gifflip, gifovly, gifpos, gifresize, and gifrotate are all gone. The ImageMagick display(1)/convert(1) utilities and PILdriver do these things better and in a format-independent way. * Lennie Araki's Windows C++ wrapper is gone. It's eight years old, unmaintained, he has dropped out of sight, and a better one needs to be written to use the high-level GIFLIB API and GIF89 graphics control extension support. We'll carry such a wrapper when we have a maintainer for it. * EGifSetVersion(), introduced in 4.2, is gone. The library always writes GIF87 or GIF89 as required by the data. This change helps with thread safety. Utilities --------- * Several utilities have been renamed to (a) fix last-century's habit of arbitarily smashing vowels out of names to make them just one or two characters shorter, (b) ensure that every utility in this set has 'gif' as a name prefix. Here's the list: giffiltr -> giffilter gifspnge -> gifsponge icon2gif -> gifbuild text2gif -> gifecho raw2gif -> gif2raw * To go with its new name, gif2raw now dumps raw pixels from a GIF if the (previously required) size option is missing. * Standalone rgb2gif is gone; the same capability is now a mode of gif2rgb. * giftext displays the parsed contents of GIF89 graphics control blocks. * gifbuild handles GIF89 graphics control blocks and Netscape animation loop blocks; it can can display and update either. * gifrotate and other filter utilities now preserve extension blocks, including the graphics control information for transparency and delay time. * A new utility, giftool, supports a wide variety of filtering operations on GIFs, including: setting background and transparency colors, changing interlacing, setting image delays, setting the user-input flag, and setting the aspect-ratio byte. It can sequence multiple operations. * The test-pattern generators gifbg, gifcolor, gihisto and gifwedge and the code templates giffilter and gifsponge are no longer installed by default. Documentation and polish ------------------------ * The history.txt and build.txt and files from 4.2.0 now have .asc extensions to indicate that they use asciidoc markup, contrasting with the txt standards files from CompuServe. * The documentation now includes "What's In A GIF", a very detailed narrative description of the file format. * The -A option of gifasm (for inserting a loop control block) is documented. * The documentation directory includes a copy of the original GIF87 specification as well as GIF89's. * The project now has a logo. Version 4.2.0 ============= Now maintained by ESR again after handoff by Toshio Kuratomi. Code Fixes ---------- * Code updated internally to C99 to enable more correctness checks by the compiler. Compiles under GCC 4.6.1 without errors or warnings. * A rare resource leak in the colormap-object maker was found with Coverity and fixed. * The code now audits clean under Coverity and cppcheck. * splint cleanup begun, there's a lot of work still to do on this. New API Features ---------------- * The default GIF version to write is now computed at write time from the types of an image's extension blocks, but can be overridden with EGifSetGifVersion(). * EGifSpew() is now thread-safe. * Two new functions, GifError() and GifErrorString(), return the error state in a form that can be used by programs. * Two library functions - EGifOpenFileName() and EGifPutImageDesc() - now have bool rather than int flag arguments. Since bool is a typedef of int and TRUE/FALSE have been redefined to true/false, both source and object compatibility with older library versions should be preserved. * GAGetArgs(), used only in the utilities, now returns bool rather than int. * The undocumented GIF_LIB_VERSION symbol is gone from the library header. It has been replaced with three documented symbols: GIFLIB_MAJOR, GIFLIB_MINOR, and GIFLIB_RELEASE. Retirements ----------- * The gif2epsn and gif2iris utilities are gone. They were full of platform dependencies for platforms long dead. There are enough platform-independent GIF viewers in the world that these weren't adding any value. Removing these gets rid of a dependency on GL. * The rle2gif, gif2rle, and gif2ps utilities are also gone. There are enough multiformat image converters in the world that these weren't adding any value either. Removing them reduces the codebase's dependencies. * The undocumented DumpScreen2Gif() is gone from the library. The only non-obsolete capture mode it supported was through X, and that probably hasn't been used in years and is replaceable by any number of capture utilities. Dropping this code makes the library's portability issues go away. * QuantizeBuffer(), GifQprintf(), PrintGifError(), GIF_ERROR() and GIF_MESSAGE() have been removed from the core library. They were used only by the utilities. QuantizeBuffer() has been inlined where it was used and the latter three are now part of the utility support library. * The Game Boy Advanced test code is gone. The platform was discontinued in 2008; more to the point, nobody ever documented the code's assumptions or expected results. * The Changelog file is now retained for archival purposes only, and because autotools throws a hissy fit if there isn't one. The single point of truth about changes and the reasons for them is the repository history. Behavior changes ---------------- * The -q option of the utilities is replaced by an opposite -v (verbose) option; the default is now quiet for all platforms. Defaulting to chattiness on MSDOS made sense in a world of slow text consoles, but not today. Testing ------- * There is now a proper regression-test suite; run 'make' in tests/. The old test-unx script is now tests/visual-check and can be run occasionally for a check with the Mark One Eyeball. Documentation ------------- * Build instructions now live in build.txt * An overview of the giflib API now lives in api.txt. * Documentation is now in DocBook-XML, so either HTML or man pages can be generated from it. Version 4.1.6 ============= Brown paper bag release. Fix a problem with header inclusion that could prevent the library from building on some platforms. Version 4.1.5 ============= This version has some important fixes for segfaults when working with corrupt files. All users are strongly encouraged to upgrade. Code Fixes ---------- * Fix segfault in utilities due to referencing ColorMaps in GifFiles that had no ColorMap present. * Fix gif2x11 to work on 24 bit displays. * Fix for giftext segfault when the GifFile does not store a global colormap. * Checks to fail gracefully when an image contains improper LZ codes. * Close file handles on failure in DGifOpenFileHandle() * Checks to operate on files in binary mode on WIN32 as well as MSDOS. Building -------- * Add checks to make building on Win32 easier. * Allow turning off gl_s, rle, and X11 support from the configure command line. * Fix for finding a 32 bit integer type on some platforms. * Only enable -Wall if we're using gcc. Version 4.1.4 ============= This version fixes some bugs with deallocating ColorMaps. Fix building on several platforms. Fix x86_64 builds to not hang the encoder. * Fix several areas in decoding where we removed a ColorMap from our GifFile but didn't set the pointer to NULL. This could lead to double free's of the ColorMap. * Fix a bug in dev2gif.c where we redefined some gl types incorrectly. * Fix a bug in the gif LZW encoder that was triggered on modern 64 bit platforms. * Fix building on Windows. Note -- there has been one API changing event for Windows (renaming DrawText to DrawGifText.) This should have conflicted with Windows API and therefore caused the builds to fail previously. If you had it working with DrawText before, apologies, you'll need to change to DrawGifText in your code. This only affects Windows. * Add support for building on The Game Boy Advance. Note: Due to the GBA's limited memory, the API for the GBA uses short's in many places where the other platforms use ints. This shouldn't affect anyone unless you've been able to get an older version of the code to run on GBA and want to start using this version instead. A recompile of your dependent code will be necessary in this case. Version 4.1.3 ============= This version fixes some bugs in the Extension writing code in EGifPutExtensionFirst, Next, and Last. Using these functions, it is possible to output extensions that contain multiple subblocks. Additionally, library code has been updated to use these functions, making it safe to output long Comments, and multi-block extensions read in from another file. * giflib is now hosted on sourceforge with libungif: http://sourceforge.net/projects/libungif * Make the EGifPutExtension{First,Next,Last} family of functions use WRITE so user defined WRITE methods will output them correctly. * Modify EGifSpew and EGifPutComment to use EGifPutExtension{First,Next,Last} so we won't output broken GIFs when dealing with GIFs with multiple subblocks. * More -Wall fixes revealed while testing on Solaris and FreeBSD. * Updated the gif_lib.html documentation to not use EGifPutExtension when dealing with multiple subblocks. Use EGifPutExtension{First,Next,Last} instead. * Some Windows code from the old CVS repository now available in the windows subdirectory. I don't have a Windows environment to test and maintain this but maybe someone out there will find it useful. Caveat hacker. Version 4.1.2 ============= * Numerous bug fixes from people on the old libungif mailing list. * GIF_ERROR and GIF_MESSAGE are on the deprecation list as they are also utility helper functions rather than essential to the functioning of the library. * Complete deprecation list is now in the README file * Audited the sources with gcc -Wall. Everything detectable has now been fixed. * Ran the library code through indent. Version 4.1.1 ============= * Merge in many bug fixes that were sent in while I was hiking the Appalachian Trail. * The qprintf methods of the library are now deprecated. Do not use GifQuietPrint or GifQprintf. These should have been pushed out into the utility helper library instead of sitting around in the library proper at the same time as the getarg functions were moved out. Getting rid of these will let us get rid of our dependence on stdarg.h/varargs.h (Which a Gif reading library has no business requiring.) Version 4.1.0 ============= * Several minor memory leaks in error conditions have been plugged. * New Function EGifOpen(void *userData, OutputFunc writeFunc) allows user specified gif writing functions. * Old copyright notices in a few source files have been updated. All library copyrights should now reflect the copyright notice in the COPYING file. Version 4.0.0 -- giflib ======================= This version of the giflib library merges Eric Raymond's giflib-3.0 release with the libungif-4.0 release to give people a binary compatible choice between the two libraries and gives me the chance to add bugfixes to giflib that have been incorporated in libungif. PLEASE READ THE FILE PATENT_PROBLEMS BEFORE USING THIS LIBRARY! Version 4.0.0 ============= Major fixes have been made to the code that handles Extensions. Unfortunately, this causes binary incompatibility with giflib-3.0 and libungif-3.x. However, the API is still intact. I am, however, deprecating the use of saveImage[x].Function. Use saveImage[x].ExtensionBlocks[y].Function instead. Version 3.1.1 ============= The following bugs which caused SegFaults have been fixed: * When reading gif files with extensions, DGifSlurp would violate memory. * When closing a gif that had a local colormap, DGifCloseFile would attempt to free the colormap twice. * Fix a potential memory leak in DGifSlurp. * New function DGifOpen to allow specifying a user definable gif reading function. Version 3.1.0 ============= * Add a new function: GifFileType *DGifOpen(void * userData, InputFunc readFunc) to read the gif image from a user defined input function. * A few bugfixes. Version 3.0 =========== Changes from Eric Raymond's libgif ---------------------------------- * A new gif encoder that makes uncompressed gifs rather than standard, LZW-compressed gifs. This is actually the major motivating factor behind libungif; to provide third-party distributors a means to provide a gif library without the patented LZW encoder. * A new configure script to make compilation of the library on multiple platforms easier. The package should now build shared libraries on all platforms supported by GNU libtool. * Removed the getarg functions from libgif. These were not part of the public API and only used by the tools in the utils directory so I separated them from the rest of the library. * Fixed a few bugs in the tools in the utils directory. Version 3.0 =========== New features ------------ * Incorporated Sirtaj Kang's changes to make both static and shared libs. * All the utility and library docs are HTML now. * The library and relevant utilities are now fully GIF89-aware. * Functions for drawing text and boxes on saved images are documented. * The distribution is now issued under a simple X-Consortium-style license. * Can now generate package RPMs and LSM automatically. * Home page with Web-acessible documentation at http://www.ccil.org/~esr/giflib Bug fixes --------- * Fix giftext to not core dump on a null extension record. * Incorporate Philip VanBaren's change to prevent a core dump in gifasm. Version 2.3 =========== * Fixed a core-dump bug in gifcomb revealed by ELF environment in Linux 1.2.13. Version 2.2b ============ * Added gifburst tool. Version 2.2 =========== * Linux is supported. Version 2.1 =========== * Added the gifovly tool, which supports making a composite from several GIF images. * Used gifovly to implement a full-fledged pasteup program in shell. It's called gifcompose and lives in the util directory. * Added a copy of the GIF89 standard to the doc directory (gif89.txt); also a description of the preferred compression method (lzgif.txt). Version 2.0 =========== With this version, development was taken over from Gershon Elber by Eric S. Raymond <esr@snark.thyrsus.com>. Note that I, esr, have pretty much adhered to Gershon's coding style, even though it's quite baroque and DOS- headed by my standards. Library Improvements -------------------- * New DGifSlurp() and EGifSpew() library entry points allow all GIF-bashing to be done in core on machines with sufficient memory. Writing code to slice'n'dice multiple GIFs in non-sequential ways is now much easier (send kudos and brickbats to esr, small unmarked bills preferred). * The interface has changed somewhat. Members in the GifFileType structure have been renamed and regrouped. This was required for support of the SavedImages member (which enables the new functions mentioned in 1). Also, there is a new data type for allocated color maps and routines to handle it conveniently. * Some minor bugs have been fixed. Most notably, the DGif code now correctly handles the possibility of more than one code block per extension record, as per the GIF spec. It's not clear, however, that anyone ever has or ever will use this feature for anything... New Tools and Options --------------------- * A brand new, ultra-spiffy tool `icon2gif' is included. It assembles named GIFs with editable text color map & icon raster representations to produce multi-image GIFs usable as graphical resource files. It can also dump most GIFs in the same text-only form it parses. This makes it easy to edit GIFs even if you don't have a graphics editor. * The gifclip utility supports a new `-c' (complement) option that allows you to perform an `inverse clip', removing horizontal or vertical bands from an image. * The gifclrmp utility supports a new `-t' switch for shuffling color index values. * A new tool `gifcolor' generates test pattern from colormap input. New Documentation and Examples ------------------------------ * The documentation has been overhauled completely and translated out of the dialect spoken by the estimable Mr. Elber into something like standard English :-). * Two source code files gifspnge.c and giffiltr.c have been added to the util directory. These are GIF copiers that exercise the I/O routines, provided as skeletons for your applications. Read the comments in them for more info. * The util Makefile for UNIX has been improved. It now uses the cc/gcc -s option rather than strip(1). There are now separate install productions, so you can test new versions in util before installation for production (the top-level make script still does an install). Version 1.2 =========== * GIFFIX - a new tool to attempt and fix broken GIF images. Currently fix images that has EOF prematurely by padding with the darkest color. * Make GIF2BGI display as much as it can considering the mem. avail. * Add -q flag to all tools for quite running scan line number mode. * Fix a (minor!?) bug in the GIF decoder when encountering code 4095. * New tools (RGB2GIF and GIF2RGB) to convert GIF to/from 24 bits RGB images. * New tool GIFROTAT to rotate a gif image by an arbitrary angle. * GifRSize was updated to resize by an arbitrary factor. Version 1.1 =========== * GIF2BGI - a new utility to display GIF images using Borland's BGI drivers (if you have one...) * TEXT2GIF - Converts plain text into GIF images. * GIF2IRIS - SGI4D display program for GIF images. * GIF_LIB naming convension has been modified to make sure it has unique names (see gif_lib.h). * Support for SGI4D gl and X11 window grabbing has been added to the library. SGI4D input is quantizied into 8 bits. Also support for EGA/VGA devices has been added as well. see Dev2gif.c module. * Support for the new gif89a format has been added. PK ���[Q��C READMEnu �[��� = GIFLIB = This is the README file of GIFLIB, a library for manipulating GIF files. Latest versions of GIFLIB are currently hosted at: http://sourceforge.net/projects/giflib == Overview == GIF is a legacy format; we recommend against generating new images in it. For a cleaner, more extensible design with better color support and compression, look up PNG. giflib provides code for reading GIF files and transforming them into RGB bitmaps, and for writing RGB bitmaps as GIF files. The (permissive) open-source license is in the file COPYING. You will find build instructions in build.adoc You will find full documentation of the API in doc/ and on the project website. Please report bugs to the bug tracker on sourceforge: http://sourceforge.net/tracker/?group_id=102202 The project has a long and confusing history, described in history.adoc The project to-do list is in TODO. == Authors == Gershon Elber <gershon[AT]cs.technion.sc.il> original giflib code Toshio Kuratomi <toshio[AT]tiki-lounge.com> uncompressed gif writing code former maintainer Eric Raymond <esr[AT]snark.thyrsus.com> current as well as long time former maintainer of giflib code There have been many other contributors; see the attributions in the version-control history to learn more. PK ���[v��@v @v ChangeLognu �[��� shipper: ignore this. It's retained for archival purposes only. The single point of truth about changes and the reasons for them is the repository. 2007-11-10 14:50 abadger1999 * NEWS, configure.ac, lib/Makefile.am, lib/egif_lib.c, lib/gif_hash.c: 4.1.6 update. Errors in including headers could lead to build problems on some platforms. 2007-11-10 13:16 abadger1999 * configure.ac: Bump release version in configure.ac. 2007-11-10 13:15 abadger1999 * Makefile.am: Remove PATENT_PROBLEMS from build rules as well. 2007-11-10 13:09 abadger1999 * NEWS, PATENT_PROBLEMS, lib/Makefile.am: Remove PATENT_PROBLEMS as it's no longer covered. Update NEWS and Makefile.am for the new release. 2007-11-10 10:46 abadger1999 * configure.ac, util/gif2epsn.c, util/gif2iris.c, util/gif2ps.c, util/gif2rgb.c, util/gif2rle.c, util/gif2x11.c: Find and fix segfaults in the gif2* programs due to referencing the ColorMap beforefinding out if hte GifFile produced a valid colormap or was corrupt. 2007-11-10 09:30 abadger1999 * lib/dgif_lib.c: Add checks to fail gracefully when corrupted images are submitted that have improper LZ codes. 2007-11-10 09:22 abadger1999 * lib/: dgif_lib.c, egif_lib.c: Further checks to compile correctly on WIN32. 2007-11-09 20:28 abadger1999 * util/giftext.c: Fix a SegFault when a GifFile does not store a global colormap. 2007-11-09 20:13 abadger1999 * util/gif2x11.c: Fix gif2x11 to work with modern, 24 bit displays. 2007-11-09 14:18 abadger1999 * configure.ac: Check for headers as well as the libraries for rle, X11, and gl_s. 2007-11-09 13:24 abadger1999 * configure.ac: Merge better fix for finding an unsignd 32 bit integer type. 2007-11-09 13:01 abadger1999 * configure.ac: Add configure comman line switches to turn off X11, rle, and gl support. 2007-11-09 12:36 abadger1999 * configure.ac, util/Makefile.am: Fixes to build under cygwin. 2007-11-09 11:49 abadger1999 * configure.ac: Make GCC check more robust. Add a needed automake check. 2007-11-09 11:48 abadger1999 * lib/dgif_lib.c: Fix closing file handles on failure in DGifOpenFileHandle(). 2007-11-09 11:33 abadger1999 * lib/egif_lib.c: Save files in binary mode for WIN32 as well as MSDOS. 2007-11-09 11:25 abadger1999 * lib/Makefile.ms: * Makefile for building under Visual C++ from Bug #981209. 2005-11-13 20:14 abadger1999 * configure.ac, lib/Makefile.am, util/Makefile.am: Changes to conditionalize -Wall upon compiling with gcc. 2005-11-06 08:45 abadger1999 * lib/: gif_hash.c, gif_hash.h: Add inttypes.h to the headers we could include to get a 32-it int type. 2005-11-06 08:34 abadger1999 * configure.ac: Search for ISO/ANSI definitions of uint32_t in stdint.h _and_ inttypes.h before POSIX u_int32_t in sys/types.h as some systems have sys/types.h without the definition. Eventually we need to code a test that the expected UINT32 definition exists in the header we select so order does not matter. 2005-11-06 08:32 abadger1999 * AUTHORS, README: Modify so that it no longer appears that esr still maintains this package. = giflib-4.1.4 = 2005-10-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r94 * Sync with libungif r93. * ChangeLog: Update to r92. * NEWS: Update with combined libungif/giflib changes. 2005-10-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r92 * lib/gif_lib.h: Change GifPrefixType to unsigned. 2005-10-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r91 * ChangeLog: Update to r90. * NEWS: Update on GBA and Windows fixes. 2005-10-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r90 Changes from Lennie Araki: * gba/giftest.mak: Prefix the names of defines for the GBA build with _GBA. * lib/dgif_lib.c, lib/gif_lib_private.h, lib/gif_err.c: - When Compiling for Game Boy Advance, file functions are not needed so exclude DGifOpenFileName(), DGifOpenFileHandle(), DGifSlurp(), and PrintGifError(). - On Game Boy Advance we need to reduce memory usage. Change values to short int where appropriate. * lib/gif_lib.h: - Handle te GBA changes by defining GifPrefixType and GifWord to int unless compiling on GBA. Then use unsigned short and short respectively. - Fix a problem with the API on _WIN32. DrawText conflicts with the Windows API. Call it DrawGifText instead. 2005-09-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r86 * Sync with libungif r85. 2005-09-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r82 * AUTHORS: Add Daniel Eisenbud. Obscure email addresses. * libungif.spec: Bump to version 4.1.4. * configure.ac: Bump to 4.1.4. No longer check for ranlib. * doc/lzgif.txt: Change dos line encoding to UNIX. * lib/dgif_lib.c: (eisenbud) - Set GifFile's ColorMaps to NULL when we free a colormap object. - Detect some cases of corrupted GIFs which were crashing the library. * lib/egif_lib.c: Set ColorMaps to NULL when we free a colormap object. * lib/gifalloc.c: Set ColorMaps to NULL when we free a colormap object. * lib/dev2gif.c: Fix redefinition problem on IRIX. * NEWS: Update to 4.1.4 * util/gifcomb.c: Set a olorMap to NULL. 2004-07-11 Toshio Kuratomi <toshio@tiki-lounge.com> - r79 * gif2iris.c: Fixes from Georg Schwarz <geos[AT]epost.de>. - stdlib.h is available and needs to be included on IRIX. - ColorMapSize was being set from non-existent variables. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r76 * Sync with libungif-4.1.3. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r74 * ChangeLog, prop=lastlog: Sync with the subversion logs. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r73 * test-unx: Add a test of extension code. * lib/egif_lib.c: Remove a debugging statement 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r72 * Makefile.am, doc/Makefile.am, pic/Makefile.am: Change wildcarded entries into explicit filenames so make distcheck will succeed. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r71 * ChangeLog, prop=lastlog: Sync the ChangeLog for the release. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r70 * AUTHORS: Add Lennie Araki to the list of contributers. * windows: The windows subdirectory and all files under it are contributions from Lennie Araki to provide a nice interface on MS Windows. * README: Redundancy fix. * doc/gif_lib.html: Add EGifPutExtension{First,Next,Last} to the documentation so people know they should use it instead of EGifPutExtension. * Makefile.am: Mark the windows files to be distributed. * NEWS: Complete the NEWS item for 4.1.3. 2004-05-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r69 * libungif.spec: Some updates from the latest RedHat spec. * configure.ac: Bump version to 4.1.3. * lib/gifalloc.c: Add to my comments on ESR's note about Extension blocks. * lib/egif_lib.c: - EGifPutComment(): reimplemented using EGifPutExtensionFirst, Next, and Last so that it won't break on unusually long comments. - EGifPutExtension{First,Next,Last}: Changed fwrites to WRITE so any user defined write function will get called properly. - EGifPutExtensionTerminate: if the Extension block is empty (Zero length) then don't attempt to output a last extension block, just output the block terminator. - EGifPutExtension: Comment that this function does not work when there are multiple subblocks in an Extension block. Use the functions EGifPutExtension{First,Next,Last} instead. - EGifSpew: Reimplement to use EGifPutExtension{First,Next,Last} so we don't output broken GIFs when there are multiple sub-blocks on an extension. * lib/Makefile.am: Bump version to 4.1.3. * NEWS: Begin writing an entry for 4.1.3. * util/icon2gif.c: Few casting fixes to make gcc -Wall happy. * util/gif2ps.c: printf format string corrections. 2004-05-26 Toshio Kuratomi <toshio@tiki-lounge.com> - r67 * Clean up some typos. 2004-05-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r66 * Sync with libungif-4.1.2. 2004-03-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r64 Last minute updates to the release notes in various files. 2004-03-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r63 * Set property lastlog to remind me when I last synced the ChangeLog 2004-03-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r62 * ChangeLog: Update 2004-03-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r61 * configure.ac: Bump version to 4.1.2 2004-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r59 * configure.ac, lib/Makefile.am: Bump version. Forgot to do this for 4.1.1... 2004-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r58 * TODO: Take out -Wall as that's all ready now. 2004-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r57 Merge changes to the code from branch indent-audit r55 * README: MakeExtension deprecation note. * TODO: Bunch of things I need to fix or check that I saw while doing the indentation of the code. * lib/getarg.h: indent changes * lib/dgif_lib.c: indent changes - Move stdlib.h out of #ifdef's as it's included on all platforms. - Add checks to be sure malloc and MakeMapObject succeed. * lib/quantize.c: indent changes - Move stdlib.h out of #ifdef's as it's included on all platforms. - _GifError already pulled in through gif_lib_private.h. Remove decl. - Make Count in NewColorMapType be unsigned. - Separated mallocs from conditionals in a few places. Easier reading. * lib/gifalloc.c: indent changes - Added four FIXME's where I think the code might not be doing what we want. Need to do more research to figure out. - Add note to MakeExtension that I think it needs to be deprecated. - Separated mallocs from conditionals in a few places. Easier reading. - FreeLastSavedImage: New private function to free the last image in a GifFile structure. Used to back out when unable to completely allocate a new SavedImage structure. - check for NULL values before deallocating in Free* functions and make sure all Free* functions set the pointer to NULL after they deallocate the memory. * lib/egif_lib.c: indent changes - EGifPutScreenDesc: If we have no colormap, output a default value for its size instead of trying to reference its unallocated BitsPerPixel field. (Fixes bug noted in r46) * lib/gif_lib.h: indent changes - Condense the #else #if VARARGS to #elif VARARGS check. * lib/qprintf.c: indent changes - Condense the #else #if VARARGS to #elif VARARGS check. * lib/dev2gif.c: indent changes * lib/getarg.c: indent changes * lib/gif_lib_private.h: indent changes * lib/gif_font.c: indent changes * lib/gif_err.c: indent changes 2004-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r56 * lib/Makefile.am, util/Makefile.am: Add -Wall to the compilation flags so we can keep the code from acquiring too much bad style. 2004-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r46 * egif_lib.c: Note for a bug fix (Can wait until after indent because there's no patch.) * gif_lib.h, dev2gif.c: Change int type to explicit long type in DumpScreen2Gif. * util/gifinto.c: Give the fprintf back its %d format. GifFile->ImageCount is used as the Image number. 2004-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r45 * README: add varargs to the deprecation list 2004-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r44 * test-unx: Quote the program names. * lib/dgif_lib.c: - Make sure memory was allocated for the colormap - Some reformatting of code but no syntactic changes. * lib/gif_lib.h: - C++ extern "C" fix - Fix typo with EGifOpen * lib/qprintf.c, lib/getarg.c: Update the varargs code. Some users reported that not all systems can handle the hybridized varargs parameter lists we had. Need to use old-style declarations instead. 2004-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r43 * NEWS: Note bugfixes and deprecations * README: Deprecation list is now being compiled in this file. * TODO: Notes about interlace bug, -Wall status, merging of old bug status 2004-02-19 Toshio Kuratomi <toshio@tiki-lounge.com> - r42 * Makefile.am: Disable testing for now because gif2x11 is broken so none of the tests _appear_ to complete successfully. 2004-02-19 Toshio Kuratomi <toshio@tiki-lounge.com> - r38 Merge -Wall fixes from branches/Wall-audit r29 * configure.ac: - Make the stdarg vs varargs check simpler by relying on AC_CHECK_HEADERS() magic. - Check for unistd.h * dgif_lib.c, gif_lib.h, egif_lib.c, gifalloc.c, quantize.c, dev2gif.c, getarg.c, gif_lib_private.h, gif_font.c gif_err.c, gifinto.c, icon2gif.c, raw2gif.c, gifcolor.c, gifasm.c, gif2epsn.c, gif2iris.c, gifrotat.c, gifovly.c, gif2x11.c, rle2gif.c, gif2rle.c, text2gif.c, gifspnge.c, gifclrmp.c, giffiltr.c, giftext.c, gifinfo.c, rgb2gif.c, gif2rgb.c, gif2ps.c - Changes to get rid of -Wall compile warnings. + Casting of types + New header includes for unistd.h and fcntl.h + Explicit declaration of many types to unsigned + Removed unused variables and functions + Removed VersionStr from every library file. Instead include it via gif_lib_private.h * gif_lib.h, gif_lib_private.h: Moved the VersionStr into gif_lib_private.h and made it a #define instead of a static char *. 2004-02-19 Toshio Kuratomi <toshio@tiki-lounge.com> - r37 Deprecation notes 2004-02-19 Toshio Kuratomi <toshio@tiki-lounge.com> - r36 Add notes about security things to do and giflib syncing 2004-02-18 Toshio Kuratomi <toshio@tiki-lounge.com> - r32 * TODO: Add notes about how to go about syncing Wall-audit and indent changes into giflib. It won't be pretty. * svn:ignore: Change the tarball names from libungif to giflib 2004-02-18 Toshio Kuratomi <toshio@tiki-lounge.com> - r31 Add config.h include to gif_hash.c 2004-02-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r30 Sync up with libungif 4.1.1 2004-02-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r26 Updated ChangeLog 2004-02-17 Toshio Kuratomi <toshio@tiki-lounge.com> * Updated libungif.spec to look more like fedora core spec * Updated version numbers in all files 2004-02-17 Toshio Kuratomi <toshio@tiki-lounge.com> * Add the libungif*.tar.bz2 distribution tarball to the ignored files * configure.ac, lib/getarg.c, lib/getarg.h, lib/gif_lib.h, lib/qprintf.c: Prefer stdarg.h over vararg.h * TODO: Add information about functions that will go away in 5.0 (In reality, I don't think new software uses libungif, so there may never be a 5.0 release.) * lib/gif_lib.h: Change version from 4.0 to 4.1 * NEWS: add deprecation warning for the qprintf stuff: GifQuietPrint var and GifQprintf function. 2004-02-16 Toshio Kuratomi <toshio@tiki-lounge.com> * util/gif2iris.c, util/gif2rle.c, util/gifinfo.c: Fix problems with fprintf error statements in the utils 2004-02-16 Toshio Kuratomi <toshio@tiki-lounge.com> Add DEVELOPERS file to the distribution. 2004-02-16 Toshio Kuratomi <toshio@tiki-lounge.com> * AUTHORS, libungif.spec, libungif.lsm, README, BUGS, NEWS: Lots of changes to my email address and the website/download. (libungif is moving to sourceforge.) * TODO: Few notes on cleanups that need to happen. State what needs to be done for 4.1.1 to be released. 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> Changes imported from last cvs checkout * TODO: note to check return of malloc everywhere * lib/dgif_lib.c, lib/egif_lib.c: Fix some deallocation bugs * lib/gifalloc.c: Fix a colormap allocation problem * lib/gif_font.c: Fix to drawing text 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> Added libgetarg.a to the ignore list. 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> Changes to the build infrastructure to build under current libtool, automake, and libtool. * configure.in: renamed to configure.ac * acconfig.h: deleted. Functionality moved into the configure.ac * autogen.sh: now runs libtoolize --automake * lib/Makefile.am, util/Makefile.am: CFLAGS=>AM_CFLAGS; INCLUDES=>AM_CPPFLAGS * configure.ac: - initialization macros for automake and autoconf have changed - removed checks for C++ compiler and Awk - acconfig.h functionality moved here. - add other X11 libraries to the X11_LIB define 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> * Remove INSTALL file as it's autogenerated.\n* Add stamp-h1 to ignored files 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> Additional adds and deletes to make version 4.1.0b1 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> Import of version 4.1.0b1 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r10 Import giflib 4.1.0 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r9 Copy the 4.1.0 libungif release to be the base of the 4.1.0 giflib release. 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r7 Release 4.1.0 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r6 Import of version 4.1.0 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r5 Set ignore patterns on the project directories. 2004-02-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r3 Remove a Makefile.in that was left in in the first commit. 2004-02-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r2 Commit revision 3.1.0 to subversion 2004-02-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r1 Initial SVN Repository Layout 2000 6 Feb Toshio Kuratomi <badger@prtr-13.ucsc.edu> * configure.in: Change to using config.h - Every .c file: Change to using config.h. * configure.in: added check for varargs header. * lib/getarg.c: Changed the ifdef USE_VARARGS to ifdef HAVE_VARARGS_H. - lib/getarg.h: Ditto. - lib/gif_lib.h: Ditto. - lib/qprintf.h: Ditto. 2000 6 Feb Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/getarg.h: Prepend an underscore to the header file define. * lib/gif_lib.h: Ditto * lib/gif_lib_private.h: Ditto * lib/getarg.c: ifdef'd MyMalloc so it actually won't define if it already is. 2000 3 Feb Toshio Kuratomi <badger@prtr-13.ucsc.edu> * A new cvs repository based my private tree from home. It now goes back to giflib-3.0. * Updated the cvs repository to make multiple developers possible. * Merge all of Michael's patches into the distribution. * DEVELOPER: Updated to reflect the new versions of autoconf/automake/libtool we're using. * libungif.spec: Updated a few things from the latest redhat spec file. 1999 5 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * Update links to the web pages as I have reorganized them somewhat. * Add the welcome2.gif to the pic directory and a test that utilizes it to test-unx. 1999 17 Nov Toshio Kuratomi <badger@prtr-13.ucsc.edu> * New cvs Repository. Hopefully I've got everything that was in the old one. This one is available on anonymous cvs. * Update to libtool 1.3.3, automake 1.4, and autoconf 2.13 1999 23 May Michael R Brown <michael@arrakeen.demon.co.uk> * Lots of 'const' qualifiers added, thanks Alexis Wilke for finding these. 1999 22 Mar Michael R Brown <michael@arrakeen.demon.co.uk> * util/gif2x11.c: Patch by (who?) to fix lots of memory leeks. * util/*.c: lib/dgif_lib.c: Makefile.in: Patch by David Kaelbling to compile on IRIX 6.x. Basically fixing lots of bad/missing parameter passing to printf, scanf and similar. * Added pics/welcome2.gif, from Peter Merz which provokes a bug prior to patch 19990224 to do with colour map management. There is still a problem with util/gifspnge processing this image, so it will not be added to test-unx yet. 1999 05 Mar Michael R Brown <michael@arrakeen.demon.co.uk> * lib/getarg.c: Lines 107 and 189 Added ifdef's to use stdarg when available. On dec-alpha the default code was causing programs to crash, probably because it assumes a stack that grows-up. 1999 24 Feb Michael R Brown <michael@arrakeen.demon.co.uk> * lib/dgif_lib.c: Lines 363 and 367 Bug reported by Steve Sanders, where &'s where causing the memcpy to overwrite the pointers. Fixed by removing the &'s so that memcpy overwrote the memory pointed to. 1999 09 Feb Toshio Kuratomi <badger@prtr-13.ucsc.edu> * Release 4.1.0 1999 09 Feb Toshio Kuratomi <badger@prtr-13.ucsc.edu> * Merge libungif changes into the giflib tree: - upgrade to libtool 1.2b - util/Makefile.am: Minor change to allow compilation outside the source_dir. - lib/egif_lib.c: FILE_STATE_WRITE, FILE_STATE_SCREEN, FILE_STATE_IMAGE, IS_WRITEABLE are now in gif_lib_private.h - lib/dgif_lib.c: FILE_STATE_READ and IS_READABLE are now in gif_lib_private.h - lib/gif_lib_private.h: Above mentioned constants and macros are now here. FILE_STATE_READ is now 0x08 instead of 0x00. - configure.in: Update version to 4.1.0 - lib/Makefile.am: Update libtool version to 5:0:1 (libtool) - giflib.spec: Update for version 4.1.0 (Add libungif-4.1 compatibility stuff and change version.) - giflib.lsm: Update for version 4.1.0 - lib/egif_lib.c: (WRITE) change from a function to a macro. - lib/dgif_lib.c: (DGifOpenFileName) close FileHandle on error. - lib/dgif_lib.c: (DGifOpenFileHandle) make sure the FILE stream is closed if we hit an error. - lib/dev2gif.c, lib/quantize.c, lib/gif_err.c, lib/gif_lib_private.h: Reflect Eric's copyright notice rather than Gershon's 1999 14 Jan Michael R Brown <michael@arrakeen.demon.co.uk> * lib/gif_lib.h: Add OutputFunc type * lib/gif_lib.h: Add EGifOpen for user supplied output function * lib/egif_lib.c: (EGifOpenFileName) Fixed wasted memory when an error occurs in EGifOpenFileHandle * lib/egif_lib.c: Add EGifOpen, WRITE, and lots of changes to support user supplied output function. Basically changing all fwrite's to WRITE, and then all of the knock on effects. 1998 17 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * configure.in: Change references to libungif to giflib. * libungif.lsm: Rename to giflib.lsm and change to reflect giflib rather than libungif. * libungif.spec: Rename to giflib.spec and change to reflect giflib rather than libungif. * UNCOMPRESSED_GIF: Removed from this branch. * PATENT_PROBLEMS: Add file explaining Unisys's patent claims. * Makefile.am: Replace libungif with giflib. * README: Adapted language to giflib. * lib/Makefile.am: Changed references to libungif to libgif. * util/Makefile.am: Changed references to libungif to libgif. 1998 17 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/egif_lib.c: Merge LZW stuff into this branch of the library. This includes numerous changes to initialize the hash table as well as the code forthe encoder. * lib/gif_hash.c: Functions needed for the LZW encoder. * lib/gif_hash.h: Functions needed for the LZW encoder. * lib/Makefile.am: Add gif_hash.c gif_hash.h to the list of sources. 1998 15 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c: (DGifSlurp) Fix a Seg Fault when an image contains no extension blocks. 1998 14 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * configure.in: Update version to 4.0 * lib/Makefile.am: Update libtool version to 4:0:0 (libtool) * libungif.spec: Update for version 4.0 (not binary compatible with giflib, change version.) * lib/gif_lib_private.h: (PrivateType) New header for common stuff private to the library. Currently, this is only the Private struct. * lib/dgif_lib.c: (PrivateType) Extract the Private struct to gif_lib_private.h * lib/egif_lib.c: (PrivateType) Extract the Private struct to gif_lib_private.h * lib/Makefile.am: Add gif_lib_private.h to the list of source files. * lib/gif_lib.h: (ExtensionBlock) Add a Function entry to the ExtensionBlock record. Note that this is not entirely correct: the GifLib ExtensionBlock structure is actually a data sub-block record. By adding the function entry here, we are pushing the ExtensionBlockType in with the DataSubBlock. Sometime in the future, we need to change the API to have true ExtensionBlocks which have DataSubBlocks belonging to them. * lib/gif_lib.h: (ExtensionBlock) Deprecate the use of Function in the SavedImage struct. Use ExtensionBlock's Function instead. * lib/egif_lib.c: (EGifSpew) Changes to use the new Function variable. * lib/dgif_lib.c: (DGifSlurp) Changes to put data into the new Function variable. 1998 3 Dec Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c: (DGifSlurp) Three changes: - No longer allocate SaveImage in this function. All allocations of SaveImage take place in DGifGetImageDesc. - Extension blocks are now associated with the Image Block that is read in subsequent to them, not before. This should now be conformant to the gif89a specification. - Fix an off-by-one error when copying extension data from structure to structure. * lib/dgif_lib.c: (DGifGetImageDesc) Change the function to do its own allocation of space for the SavedImage structure no matter what. * lib/egif_lib.c: (EGifSpew) The function now spits out ExtensionBlocks before the associated Image Block to conform with the gif89a specification. * lib/egif_lib.c: (EGifOpenFileHandle) Move the write of the GifVersion (gif87a or gif89a) from this function into EGifPutScreenDesc so that it can be controlled by EGifSpew. Note that this is still a hack as the GifVersion write doesn't really belong in either of these functions. * lib/egif_lib.c: (EGifPutScreenDesc) Moved writing the version (gif87a or gif89a) into the file into this function from EGifOpenFileHandle. * test-unx: Now test the extension code. * pic/x-trans.gif: New image with Comments and transparency to test the extension code with. 1998 29 Nov Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c: (DGifSlurp) Fix a few of the minor bugs plaguing this function. At this point, the function should no longer cause a Seg Fault. It is now losing all extension data however. I know how to hack a fix in, but I need to commit these changes first. * lib/dgif_lib.c: (DGifGetImageDesc) Fix my bug fix: the colormap is now only copied if it exists :-). 1998 10 Nov Toshio Kuratomi <badger@prtr-13.ucsc.edu> * test-unx: Add a test for DGifSlurp and EGifSpew 1998 14 Oct Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c: (DGifGetImageDesc) Fix a bug where the Colormap for the image description and the SaveImage were pointers to the same structure, causing a SegV when DGifClosing the file. 1998 9 Oct Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c: (DGifSlurp) memory for the extensions was not being allocated. Now I call AddExtensionBlock when I add an extension to the structure. Additionally, fix a memory leak here. * configure.in, NEWS, lib/Makefile.am: Update to version 3.1.1 * ltmain.sh, ltconfig: removed from the cvs repository * BUGS: add the BUGS file to list unresolved BUGS. 1998 9 Sep Toshio Kuratomi <badger@prtr-13.ucsc.edu> * libungif.spec: Fix wrong version in %files and %install section. 1998 8 Sep Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/gif_hash.c, lib/gif_hash.h: Removed these because a hash table is not needed to create uncompressed gifs. * lib/egif_lib.c: Remove all references to the hash functions. * lib/Makefile.am: Remove gif_hash.c gif_hash.h from the source files. * libungif.lsm: added this file 1998 7 Sep Toshio Kuratomi <badger@prtr-13.ucsc.edu> * lib/dgif_lib.c, lib/gif_lib.h: (DGifOpen) Add callback to read gif image through user supplied function (Peter Mehlitz). 1998 6 Sep Toshio Kuratomi <badger@prtr-13.ucsc.edu> * util/*.{gif.rle}: removed files that were left by my testing process and shouldn't have been in the distribution. * UNCOMPRESSED_GIF: add section on why software that can decode LZW compressed gifs (but not write them) is legal. * .cvsignore: added .cvsignore files to ignore Makefiles and other generated files in my cvs repository. * Makefile.am's: Fixes to allow the dist* family of targets to work correctly. Preliminary support for make check as well. * configure.in: Update version to 3.1.0 * lib/Makefile.am: Update libtool version to 4:0:1 libtool) * libungif-3.0.spec: Update from Marc Ewing. * Add int/pointer Alpha fixes from Dick Porter to many source files. PK ���[�37�w �w NEWSnu �[��� PK ���[Q��C �w READMEnu �[��� PK ���[v��@v @v &} ChangeLognu �[��� PK � ��
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0 |
proxy
|
phpinfo
|
???????????