wok diff xplanet/stuff/xplanet-giflib5.patch @ rev 23848

inkscape: update build_depends
author Richard Dunbar <mojo@slitaz.org>
date Sun Jun 14 23:18:03 2020 -0400 (2020-06-14)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/xplanet/stuff/xplanet-giflib5.patch	Sun Jun 14 23:18:03 2020 -0400
     1.3 @@ -0,0 +1,214 @@
     1.4 +--- xplanet-1.3.0.orig/src/libimage/gif.c	2006-03-25 14:50:51.000000000 -0800
     1.5 ++++ xplanet-1.3.0/src/libimage/gif.c	2015-01-30 21:01:52.000000000 -0800
     1.6 +@@ -28,6 +28,18 @@
     1.7 +   distribution. 
     1.8 + */
     1.9 + 
    1.10 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.11 ++void
    1.12 ++PrintGifError(int ErrorCode) {
    1.13 ++    const char *Err = GifErrorString(ErrorCode);
    1.14 ++    if (Err != NULL)
    1.15 ++        fprintf(stderr, "GIF-LIB error: %s.\n", Err);
    1.16 ++    else
    1.17 ++        fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
    1.18 ++}
    1.19 ++#endif
    1.20 ++
    1.21 ++
    1.22 + int
    1.23 + read_gif(const char *filename, int *width, int *height, unsigned char **rgb)
    1.24 + {
    1.25 +@@ -41,12 +53,23 @@
    1.26 +     int i, j;
    1.27 +     int color_index;
    1.28 +     unsigned char *ptr = NULL;
    1.29 +-
    1.30 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.31 ++    int err;
    1.32 ++#endif
    1.33 ++
    1.34 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.35 ++    infile = DGifOpenFileName(filename, NULL);
    1.36 ++#else
    1.37 +     infile = DGifOpenFileName(filename);
    1.38 ++#endif
    1.39 + 
    1.40 +     if (infile == NULL)
    1.41 +     {
    1.42 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.43 ++        PrintGifError(infile->Error);
    1.44 ++#else
    1.45 +         PrintGifError();
    1.46 ++#endif
    1.47 +         return(0);
    1.48 +     }
    1.49 + 
    1.50 +@@ -54,7 +77,11 @@
    1.51 +     {
    1.52 +         if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) 
    1.53 +         {
    1.54 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.55 ++            PrintGifError(infile->Error);
    1.56 ++#else
    1.57 +             PrintGifError();
    1.58 ++#endif
    1.59 +             return(0);
    1.60 +         }
    1.61 + 
    1.62 +@@ -63,7 +90,11 @@
    1.63 +         case IMAGE_DESC_RECORD_TYPE:
    1.64 +             if (DGifGetImageDesc(infile) == GIF_ERROR)
    1.65 +             {
    1.66 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.67 ++                PrintGifError(infile->Error);
    1.68 ++#else
    1.69 +                 PrintGifError();
    1.70 ++#endif
    1.71 +                 return(0);
    1.72 +             }
    1.73 + 
    1.74 +@@ -107,14 +138,22 @@
    1.75 +             GifByteType *ext;
    1.76 +             if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) 
    1.77 +             {
    1.78 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.79 ++                PrintGifError(infile->Error);
    1.80 ++#else
    1.81 +                 PrintGifError();
    1.82 ++#endif
    1.83 +                 return(0);
    1.84 +             }
    1.85 +             while (ext != NULL) 
    1.86 +             {
    1.87 +                 if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR) 
    1.88 +                 {
    1.89 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
    1.90 ++                    PrintGifError(infile->Error);
    1.91 ++#else
    1.92 +                     PrintGifError();
    1.93 ++#endif
    1.94 +                     return(0);
    1.95 +                 }
    1.96 +             }
    1.97 +@@ -154,7 +193,11 @@
    1.98 +     
    1.99 +     free(buffer);
   1.100 + 
   1.101 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
   1.102 ++    DGifCloseFile(infile, NULL);
   1.103 ++#else
   1.104 +     DGifCloseFile(infile);
   1.105 ++#endif
   1.106 +     return(1);
   1.107 + }
   1.108 + 
   1.109 +@@ -166,6 +209,9 @@
   1.110 +     GifByteType *red, *green, *blue, *buffer, *ptr;
   1.111 +     GifFileType *outfile;
   1.112 +     ColorMapObject *colormap;
   1.113 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.114 ++    int err;
   1.115 ++#endif
   1.116 + 
   1.117 +     red = malloc(width * height * sizeof(GifByteType));
   1.118 +     green = malloc(width * height * sizeof(GifByteType));
   1.119 +@@ -178,7 +224,11 @@
   1.120 +         return(0);
   1.121 +     }
   1.122 + 
   1.123 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.124 ++    colormap = GifMakeMapObject(colormap_size, NULL);
   1.125 ++#else
   1.126 +     colormap = MakeMapObject(colormap_size, NULL);
   1.127 ++#endif
   1.128 + 
   1.129 +     for (i = 0; i < width * height; i++)
   1.130 +     {
   1.131 +@@ -187,10 +237,17 @@
   1.132 +         blue[i]  = (GifByteType) rgb[3*i+2];
   1.133 +     }
   1.134 +   
   1.135 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.136 ++    if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue,   
   1.137 ++                          buffer, colormap->Colors) == GIF_ERROR)
   1.138 ++    {
   1.139 ++        PrintGifError(-1);
   1.140 ++#else
   1.141 +     if (QuantizeBuffer(width, height, &colormap_size, red, green, blue,   
   1.142 +                        buffer, colormap->Colors) == GIF_ERROR)
   1.143 +     {
   1.144 +         PrintGifError();
   1.145 ++#endif
   1.146 +         return(0);
   1.147 +     }
   1.148 + 
   1.149 +@@ -198,24 +255,41 @@
   1.150 +     free(green);
   1.151 +     free(blue);
   1.152 + 
   1.153 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.154 ++    outfile = EGifOpenFileName((char *) filename, 0, &err);
   1.155 ++    if (outfile == NULL)
   1.156 ++    {
   1.157 ++        PrintGifError(err);
   1.158 ++        return(0);
   1.159 ++    }
   1.160 ++#else
   1.161 +     outfile = EGifOpenFileName((char *) filename, FALSE);
   1.162 +     if (outfile == NULL)
   1.163 +     {
   1.164 +         PrintGifError();
   1.165 +         return(0);
   1.166 +     }
   1.167 ++#endif
   1.168 + 
   1.169 +     if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap)
   1.170 +         == GIF_ERROR)
   1.171 +     {
   1.172 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.173 ++        PrintGifError(outfile->Error);
   1.174 ++#else
   1.175 +         PrintGifError();
   1.176 ++#endif
   1.177 +         return(0);
   1.178 +     }
   1.179 + 
   1.180 +-    if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL)
   1.181 ++    if (EGifPutImageDesc(outfile, 0, 0, width, height, 0, NULL)
   1.182 +         == GIF_ERROR)
   1.183 +     {
   1.184 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.185 ++        PrintGifError(outfile->Error);
   1.186 ++#else
   1.187 +         PrintGifError();
   1.188 ++#endif
   1.189 +         return(0);
   1.190 +     }
   1.191 + 
   1.192 +@@ -224,7 +298,11 @@
   1.193 +     {
   1.194 +         if (EGifPutLine(outfile, ptr, width) == GIF_ERROR)
   1.195 +         {
   1.196 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
   1.197 ++            PrintGifError(outfile->Error);
   1.198 ++#else
   1.199 +             PrintGifError();
   1.200 ++#endif
   1.201 +             return(0);
   1.202 +         }
   1.203 +         ptr += width;
   1.204 +@@ -232,8 +310,13 @@
   1.205 + 
   1.206 +     EGifSpew(outfile);
   1.207 + 
   1.208 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
   1.209 ++    if (EGifCloseFile(outfile, &err) == GIF_ERROR) 
   1.210 ++        PrintGifError(err);
   1.211 ++#else
   1.212 +     if (EGifCloseFile(outfile) == GIF_ERROR) 
   1.213 +         PrintGifError();
   1.214 ++#endif
   1.215 + 
   1.216 +     free(buffer);
   1.217 +