wok-current annotate imlib/stuff/giflib5.u @ rev 25046

Up glusterfs (10.2)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Jun 04 12:04:57 2022 +0000 (2022-06-04)
parents
children
rev   line source
pascal@22366 1 --- gdk_imlib/io-gif.c
pascal@22366 2 +++ gdk_imlib/io-gif.c
pascal@22366 3 @@ -10,6 +10,15 @@
pascal@22366 4 #else
pascal@22366 5 #include <gif_lib.h>
pascal@22366 6
pascal@22366 7 +static int ErrorCode;
pascal@22366 8 +static void PrintGifError(void)
pascal@22366 9 +{
pascal@22366 10 + char *Err = GifErrorString(ErrorCode);
pascal@22366 11 + if (Err != NULL)
pascal@22366 12 + fprintf(stderr, "GIF-LIB error: %s.\n", Err);
pascal@22366 13 + else fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
pascal@22366 14 +}
pascal@22366 15 +
pascal@22366 16 unsigned char *
pascal@22366 17 loader_gif(FILE *f, int *w, int *h, int *t)
pascal@22366 18 {
pascal@22366 19 @@ -30,7 +39,7 @@
pascal@22366 20 fd = fileno(f);
pascal@22366 21 /* Apparently rewind(f) isn't sufficient */
pascal@22366 22 lseek(fd, (long) 0, 0);
pascal@22366 23 - gif = DGifOpenFileHandle(fd);
pascal@22366 24 + gif = DGifOpenFileHandle(fd, &ErrorCode);
pascal@22366 25
pascal@22366 26 transp = -1;
pascal@22366 27 data = NULL;
pascal@22366 28 @@ -62,13 +71,13 @@
pascal@22366 29 rows = malloc(*h * sizeof(GifRowType *));
pascal@22366 30 if (!rows)
pascal@22366 31 {
pascal@22366 32 - DGifCloseFile(gif);
pascal@22366 33 + DGifCloseFile(gif, NULL);
pascal@22366 34 return NULL;
pascal@22366 35 }
pascal@22366 36 data = _gdk_malloc_image(*w, *h);
pascal@22366 37 if (!data)
pascal@22366 38 {
pascal@22366 39 - DGifCloseFile(gif);
pascal@22366 40 + DGifCloseFile(gif, NULL);
pascal@22366 41 free(rows);
pascal@22366 42 return NULL;
pascal@22366 43 }
pascal@22366 44 @@ -79,7 +88,7 @@
pascal@22366 45 rows[i] = malloc(*w * sizeof(GifPixelType));
pascal@22366 46 if (!rows[i])
pascal@22366 47 {
pascal@22366 48 - DGifCloseFile(gif);
pascal@22366 49 + DGifCloseFile(gif, NULL);
pascal@22366 50 for (i = 0; i < *h; i++)
pascal@22366 51 if (rows[i])
pascal@22366 52 free(rows[i]);
pascal@22366 53 @@ -168,7 +177,7 @@
pascal@22366 54 }
pascal@22366 55 }
pascal@22366 56 }
pascal@22366 57 - DGifCloseFile(gif);
pascal@22366 58 + DGifCloseFile(gif, NULL);
pascal@22366 59 for (i = 0; i < *h; i++)
pascal@22366 60 free(rows[i]);
pascal@22366 61 free(rows);
pascal@22366 62 --- Imlib/load.c
pascal@22366 63 +++ Imlib/load.c
pascal@22366 64 @@ -420,6 +420,15 @@
pascal@22366 65 #endif /* HAVE_LIBTIFF */
pascal@22366 66
pascal@22366 67 #ifdef HAVE_LIBGIF
pascal@22366 68 +static int ErrorCode;
pascal@22366 69 +static void PrintGifError(void)
pascal@22366 70 +{
pascal@22366 71 + char *Err = GifErrorString(ErrorCode);
pascal@22366 72 + if (Err != NULL)
pascal@22366 73 + fprintf(stderr, "GIF-LIB error: %s.\n", Err);
pascal@22366 74 + else fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
pascal@22366 75 +}
pascal@22366 76 +
pascal@22366 77 unsigned char *
pascal@22366 78 _LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t)
pascal@22366 79 {
pascal@22366 80 @@ -443,7 +452,7 @@
pascal@22366 81 fd = fileno(f);
pascal@22366 82 /* Apparently rewind(f) isn't sufficient */
pascal@22366 83 lseek(fd, (long) 0, 0);
pascal@22366 84 - gif = DGifOpenFileHandle(fd);
pascal@22366 85 + gif = DGifOpenFileHandle(fd, &ErrorCode);
pascal@22366 86
pascal@22366 87 if (!gif)
pascal@22366 88 return NULL;
pascal@22366 89 @@ -470,13 +479,13 @@
pascal@22366 90 rows = malloc(*h * sizeof(GifRowType *));
pascal@22366 91 if (!rows)
pascal@22366 92 {
pascal@22366 93 - DGifCloseFile(gif);
pascal@22366 94 + DGifCloseFile(gif, NULL);
pascal@22366 95 return NULL;
pascal@22366 96 }
pascal@22366 97 data = _imlib_malloc_image(*w, *h);
pascal@22366 98 if (!data)
pascal@22366 99 {
pascal@22366 100 - DGifCloseFile(gif);
pascal@22366 101 + DGifCloseFile(gif, NULL);
pascal@22366 102 free(rows);
pascal@22366 103 return NULL;
pascal@22366 104 }
pascal@22366 105 @@ -487,7 +496,7 @@
pascal@22366 106 rows[i] = malloc(*w * sizeof(GifPixelType));
pascal@22366 107 if (!rows[i])
pascal@22366 108 {
pascal@22366 109 - DGifCloseFile(gif);
pascal@22366 110 + DGifCloseFile(gif, NULL);
pascal@22366 111 for (i = 0; i < *h; i++)
pascal@22366 112 if (rows[i])
pascal@22366 113 free(rows[i]);
pascal@22366 114 @@ -576,7 +585,7 @@
pascal@22366 115 }
pascal@22366 116 }
pascal@22366 117 }
pascal@22366 118 - DGifCloseFile(gif);
pascal@22366 119 + DGifCloseFile(gif, NULL);
pascal@22366 120 for (i = 0; i < *h; i++)
pascal@22366 121 free(rows[i]);
pascal@22366 122 free(rows);