# GIFLIB error codes

Eric Steven Raymond
Thyrsus Enterprises

        &email;

2012 Eric S. Raymond

Errors as reported from the GIFLIB library are divided to two major categories: the encoder (errors prefixed by E_GIF_ERR), and the decoder (errors prefixed by D_GIF_ERR). This document explains them briefly.

## Encoding errors

E_GIF_ERR_OpenFailed

  Message printed using PrintGifError: "Failed to open given file" IO error result when attempt to open the given GIF file.

E_GIF_ERR_WriteFailed

  Message printed using PrintGifError: "Failed to Write to given file" IO error result when attempt to write to the given GIF file.

E_GIF_ERR_HasScrnDscr

  Message printed using PrintGifError: "Screen Descriptor already been set" Attempt to write second screen descriptor to same GIF file. GIF file should have exactly one screen descriptor which should be set directly after the file is opened.

E_GIF_ERR_HasImagDscr

  Message printed using PrintGifError: "Image Descriptor is still active" Image descriptor should be sent before and image dump, and no second image descriptor should be sent before current image dump ended. This error occurred probably because current image was not complete.

E_GIF_ERR_NoColorMap

  Message printed using PrintGifError: "Neither Global Nor Local color map" An image must have either global (screen) or local (image) color map. Neither were given in this case.

E_GIF_ERR_DataTooBig

  Message printed using PrintGifError: "#Pixels bigger than Width * Height" The number of pixels dumped for this image is bigger than specified by image Height times image Width.

E_GIF_ERR_NotEnoughMem

  Message printed using PrintGifError: "Fail to allocate required memory" Once an attemp is made to open GIF file, special structures are allocated to hold internal data for it. If allocation fails this error is returned.

E_GIF_ERR_DiskIsFull

  Message printed using PrintGifError: "Write failed (disk full?)" Writing encoded data failed.

E_GIF_ERR_CloseFailed

  Message printed using PrintGifError: "Failed to close given file" Closing file failed.

E_GIF_ERR_NotWriteable

  Message printed using PrintGifError: "Given file was not opened for write" GIF files can be opened both for read (DGIF part of library) and write (EGIF part of library). This error occurs when a file is opened for read (using DGIF) is given to one of the encoding (EGIF) routines.

## Encoding errors:

D_GIF_ERR_OpenFailed

  Message printed using PrintGifError: "Failed to open given file" IO error result when attempt to open the given GIF file.

D_GIF_ERR_ReadFailed

  Message printed using PrintGifError: "Failed to Read from given file" IO error result when attempt to write to the given GIF file.

D_GIF_ERR_Notgif-file$

  Message printed using PrintGifError: "Given file is NOT GIF file" GIF files should have special stamp identifies them as such, If that stamp is not found, this error is issued.

D_GIF_ERR_NoScrnDscr

  Message printed using PrintGifError: "No Screen Descriptor detected" Each GIF file should have screen descriptor in its header. This error will be generated if no such descriptor was found.

D_GIF_ERR_NoImagDscr

  Message printed using PrintGifError: "No Image Descriptor detected" Each image should have image descriptor in its header. This error will be generated if no such descriptor was found.

D_GIF_ERR_NoColorMap

  Message printed using PrintGifError: "Neither Global Nor Local color map" An image must have either global (screen) or local (image) color map. Neither were given in this case.

D_GIF_ERR_WrongRecord

  Message printed using PrintGifError: "Wrong record type detected" Each record in GIF file has special identifier, in its header. If the record has wrong identifier, this error is generated.

D_GIF_ERR_DataTooBig

  Message printed using PrintGifError: "#Pixels bigger than Width * Height" The number of pixels dumped for this image is bigger than specified by image Height times image Width.

D_GIF_ERR_NotEnoughMem

  Message printed using PrintGifError: "Fail to allocate required memory" Once an attemp is made to open GIF file, special structures are allocated to hold internal data for it. If allocation fails this error is returned.

D_GIF_ERR_CloseFailed

  Message printed using PrintGifError: "Failed to close given file" Closing file failed.

D_GIF_ERR_NotReadable

  Message printed using PrintGifError: "Given file was not opened for read" GIF files can be opened both for read (DGIF part of library) and write (EGIF part of library). This error occurs when a file is opened for write (using EGIF) is given to one of the decoding (DGIF) routines.

D_GIF_ERR_ImageDefect

  Message printed using PrintGifError: "Image is defective, decoding aborted" This error is generated, once the decoding failed - probably image is defect.

D_GIF_ERR_EOFTooSoon

  Message printed using PrintGifError: "Image EOF detected, before image complete" This error is generated once EOF errorname is detected in encoded image before all the pixels (Width * Height) has be decoded.