home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / graphics / gif-util.zip / GIF_ERR.C < prev    next >
C/C++ Source or Header  |  1989-08-01  |  4KB  |  125 lines

  1. /*****************************************************************************
  2. *   "Gif-Lib" - Yet another gif library.                     *
  3. *                                         *
  4. * Written by:  Gershon Elber            IBM PC Ver 0.1,    Jun. 1989    *
  5. ******************************************************************************
  6. * Handle error reporting for the GIF library.                     *
  7. ******************************************************************************
  8. * History:                                     *
  9. * 17 Jun 89 - Version 1.0 by Gershon Elber.                     *
  10. *****************************************************************************/
  11.  
  12. #include <stdio.h>
  13. #include "Gif_Lib.h"
  14.  
  15. #define PROGRAM_NAME    "GIF_LIBRARY"
  16. #define VERSION        "ß Version 1.0, "
  17.  
  18. int _GifError = 0;
  19.  
  20. static char *VersionStr =
  21.     PROGRAM_NAME
  22.     "    IBMPC "
  23.     VERSION
  24.     "    Gershon Elber,    "
  25.     __DATE__ ",   " __TIME__ "\n"
  26.     "(C) Copyright 1989 Gershon Elber, Non commercial use only.\n";
  27.  
  28. /*****************************************************************************
  29. * Return the last GIF error (0 if none) and reset the error.             *
  30. *****************************************************************************/
  31. int GifLastError(void)
  32. {
  33.     int i = _GifError;
  34.  
  35.     _GifError = 0;
  36.  
  37.     return i;
  38. }
  39.  
  40. /*****************************************************************************
  41. * Print the last GIF error to stderr.                         *
  42. *****************************************************************************/
  43. void PrintGifError(void)
  44. {
  45.     char *Err;
  46.  
  47.     switch(_GifError) {
  48.     case E_GIF_ERR_OpenFailed:
  49.         Err = "Failed to open given file";
  50.         break;
  51.     case E_GIF_ERR_WriteFailed:
  52.         Err = "Failed to Write to given file";
  53.         break;
  54.     case E_GIF_ERR_HasScrnDscr:
  55.         Err = "Screen Descriptor already been set";
  56.         break;
  57.     case E_GIF_ERR_HasImagDscr:
  58.         Err = "Image Descriptor is still active";
  59.         break;
  60.     case E_GIF_ERR_NoColorMap:
  61.         Err = "Neither Global Nor Local color map";
  62.         break;
  63.     case E_GIF_ERR_DataTooBig:
  64.         Err = "#Pixels bigger than Width * Height";
  65.         break;
  66.     case E_GIF_ERR_NotEnoughMem:
  67.         Err = "Fail to allocate required memory";
  68.         break;
  69.     case E_GIF_ERR_DiskIsFull:
  70.         Err = "Write failed (disk full?)";
  71.         break;
  72.     case E_GIF_ERR_CloseFailed:
  73.         Err = "Failed to close given file";
  74.         break;
  75.     case E_GIF_ERR_NotWriteable:
  76.         Err = "Given file was not opened for write";
  77.         break;
  78.     case D_GIF_ERR_OpenFailed:
  79.         Err = "Failed to open given file";
  80.         break;
  81.     case D_GIF_ERR_ReadFailed:
  82.         Err = "Failed to Read from given file";
  83.         break;
  84.     case D_GIF_ERR_NotGifFile:
  85.         Err = "Given file is NOT GIF file";
  86.         break;
  87.     case D_GIF_ERR_NoScrnDscr:
  88.         Err = "No Screen Descriptor detected";
  89.         break;
  90.     case D_GIF_ERR_NoImagDscr:
  91.         Err = "No Image Descriptor detected";
  92.         break;
  93.     case D_GIF_ERR_NoColorMap:
  94.         Err = "Neither Global Nor Local color map";
  95.         break;
  96.     case D_GIF_ERR_WrongRecord:
  97.         Err = "Wrong record type detected";
  98.         break;
  99.     case D_GIF_ERR_DataTooBig:
  100.         Err = "#Pixels bigger than Width * Height";
  101.         break;
  102.     case D_GIF_ERR_NotEnoughMem:
  103.         Err = "Fail to allocate required memory";
  104.         break;
  105.     case D_GIF_ERR_CloseFailed:
  106.         Err = "Failed to close given file";
  107.         break;
  108.     case D_GIF_ERR_NotReadable:
  109.         Err = "Given file was not opened for read";
  110.         break;
  111.     case D_GIF_ERR_ImageDefect:
  112.         Err = "Image is defective, decoding aborted";
  113.         break;
  114.     case D_GIF_ERR_EOFTooSoon:
  115.         Err = "Image EOF detected, before image complete";
  116.         break;
  117.     default:
  118.         Err = NULL;
  119.         break;
  120.     }
  121.     if (Err != NULL)
  122.      fprintf(stderr, "\nGIF-LIB error: %s\n", Err);
  123.     else fprintf(stderr, "\nGIF-LIB undefined error %d\n", _GifError);
  124. }
  125.