This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository legacy-imlib2_loaders.

View the commit online.

commit 2c293b0a30577be4dab53d956658141b1b11249d
Author: Kim Woelders <[email protected]>
AuthorDate: Wed Dec 7 19:55:16 2022 +0100

    Drop ani loader
    
    New one added to imlib2.
---
 configure.ac                     |   4 -
 src/modules/loaders/Makefile.am  |   9 --
 src/modules/loaders/loader_ani.c | 264 ---------------------------------------
 3 files changed, 277 deletions(-)

diff --git a/configure.ac b/configure.ac
index be23005..8412da3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,8 +21,6 @@ LT_INIT
 
 PKG_PROG_PKG_CONFIG
 
-ani=yes
-
 eet=no
 AC_ARG_ENABLE(eet,
 [  --enable-eet            enable building the eet loader],
@@ -59,7 +57,6 @@ elif test "x$found_eet" = "xno" ; then
 	eet=no
 fi
 
-AM_CONDITIONAL(BUILD_ANI_LOADER, test x$ani != xno)
 AM_CONDITIONAL(BUILD_EET_LOADER, test x$eet != xno)
 AM_CONDITIONAL(BUILD_XCF_LOADER, test x$xcf != xno)
 
@@ -89,7 +86,6 @@ echo
 echo "Configuration Options Summary:"
 echo
 echo "Image loaders:"
-echo "  ANI.....................: $ani"
 echo "  EET.....................: $eet"
 echo "  XCF.....................: $xcf"
 echo
diff --git a/src/modules/loaders/Makefile.am b/src/modules/loaders/Makefile.am
index f78c5d6..7f229e1 100644
--- a/src/modules/loaders/Makefile.am
+++ b/src/modules/loaders/Makefile.am
@@ -4,9 +4,6 @@ AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY)
 
 pkgdir               = $(libdir)/imlib2/loaders
 
-if BUILD_ANI_LOADER
-ANI_L                = ani.la
-endif
 if BUILD_EET_LOADER
 EET_L                = eet.la
 endif
@@ -15,7 +12,6 @@ XCF_L                = xcf.la
 endif
 
 pkg_LTLIBRARIES      = \
-$(ANI_L) \
 $(EET_L) \
 $(XCF_L)
 
@@ -29,8 +25,3 @@ xcf_la_SOURCES      = loader_xcf.c loader_xcf_pixelfuncs.c loader_xcf.h
 xcf_la_LDFLAGS      = -module -avoid-version
 xcf_la_LIBADD       =
 xcf_la_LIBTOOLFLAGS = --tag=disable-static
-
-ani_la_SOURCES      = loader_ani.c
-ani_la_LDFLAGS      = -module -avoid-version
-ani_la_LIBADD       =
-ani_la_LIBTOOLFLAGS = --tag=disable-static
diff --git a/src/modules/loaders/loader_ani.c b/src/modules/loaders/loader_ani.c
deleted file mode 100644
index 44c350b..0000000
--- a/src/modules/loaders/loader_ani.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
-
-Copyright (C) 2002 Christian Kreibich <[email protected]>.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies of the Software and its documentation and acknowledgment shall be
-given in the documentation and software packages that this Software was
-used.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-#include "Imlib2_Loader.h"
-
-static const char  *const _formats[] = { "ani" };
-
-#define ANI_DBG 0
-#if ANI_DBG
-#define D(fmt...) printf("Imlib2 ANI loader: " fmt)
-#else
-#define D(fmt...)
-#endif
-
-typedef struct _MsChunk {
-   struct _MsChunk    *next;
-   uint32_t            chunk_id;
-   uint32_t            chunk_size;      /* Size of this chunk, starting from */
-   uint8_t             data;    /* the following byte. Thus chunk_size = full size - 8 */
-} MsChunk;
-
-typedef struct _MsAni {
-   FILE               *fp;
-   uint32_t            cp;
-
-   uint32_t            riff_id; /* "RIFF" */
-   uint32_t            data_size;
-   uint32_t            chunk_id;        /* "ACON" */
-
-   MsChunk            *chunks;
-} MsAni;
-
-static void         ani_cleanup(MsAni * ani);
-
-static int
-ani_read_int8(FILE * fp, uint8_t * data, int count)
-{
-   int                 total;
-   int                 bytes;
-
-   total = count;
-   while (count > 0)
-     {
-        bytes = fread(data, 1, count, fp);
-        if (bytes <= 0)         /* something bad happened */
-           break;
-        count -= bytes;
-        data += bytes;
-     }
-
-   return total;
-}
-
-static int
-ani_read_int32(FILE * fp, uint32_t * data, int count)
-{
-   int                 i, total;
-
-   total = count;
-   if (count > 0)
-     {
-        ani_read_int8(fp, (uint8_t *) data, count * 4);
-        for (i = 0; i < count; i++)
-           data[i] = SWAP_LE_32(data[i]);
-     }
-
-   return total * 4;
-}
-
-static MsAni       *
-ani_init(FILE * fp)
-{
-   MsAni              *ani;
-
-   if (!(ani = calloc(1, sizeof(MsAni))))
-      return NULL;
-
-   ani->fp = fp;
-
-   ani->cp += ani_read_int32(ani->fp, &ani->riff_id, 1);
-   ani->cp += ani_read_int32(ani->fp, &ani->data_size, 1);
-   ani->cp += ani_read_int32(ani->fp, &ani->chunk_id, 1);
-
-   if (ani->riff_id != 0x46464952 || ani->chunk_id != 0x4E4F4341)
-      goto bail;
-
-   return ani;
-
- bail:
-   ani_cleanup(ani);
-   return NULL;
-}
-
-static void
-ani_cleanup(MsAni * ani)
-{
-   MsChunk            *c, *c_next;
-
-   D("Cleaning up\n");
-
-   if (!ani)
-      return;
-
-   for (c = ani->chunks; c;)
-     {
-        c_next = c->next;
-        free(c);
-        c = c_next;
-     }
-
-   free(ani);
-}
-
-static MsChunk     *
-ani_load_chunk(MsAni * ani)
-{
-   uint32_t            chunk_id, chunk_size, dummy;
-   MsChunk            *chunk;
-
-   if (ani->cp >= ani->data_size + 8)
-      return NULL;
-
-   ani->cp += ani_read_int32(ani->fp, &chunk_id, 1);
-
-   while (chunk_id == 0x5453494C)
-     {
-        D("Skipping LIST chunk header ...\n");
-        ani->cp += ani_read_int32(ani->fp, &dummy, 1);
-        ani->cp += ani_read_int32(ani->fp, &dummy, 1);
-        ani->cp += ani_read_int32(ani->fp, &chunk_id, 1);
-     }
-
-   ani->cp += ani_read_int32(ani->fp, &chunk_size, 1);
-
-   /* Pad it up to word length */
-   if (chunk_size % 2)
-      chunk_size += (2 - (chunk_size % 2));
-
-   chunk = calloc(1, sizeof(MsChunk *) + 2 * sizeof(uint32_t) + chunk_size);
-   if (!chunk)
-     {
-        D("Warning, failed to allocate ANI chunk of size %ld\n",
-          sizeof(MsChunk *) + 2 * sizeof(uint32_t) + chunk_size);
-        return NULL;
-     }
-
-   chunk->chunk_id = chunk_id;
-   chunk->chunk_size = chunk_size;
-
-   chunk_id = SWAP_LE_32(chunk_id);
-
-   D("Loaded chunk with ID '%c%c%c%c' and length %i\n",
-     ((char *)&chunk_id)[0], ((char *)&chunk_id)[1],
-     ((char *)&chunk_id)[2], ((char *)&chunk_id)[3], chunk_size);
-
-   ani->cp += ani_read_int8(ani->fp, &chunk->data, chunk_size);
-
-   return chunk;
-}
-
-static void
-ani_load(MsAni * ani)
-{
-   MsChunk            *last_chunk;
-   MsChunk            *chunk;
-
-   if (!ani)
-      return;
-
-   ani->chunks = ani_load_chunk(ani);
-   last_chunk = ani->chunks;
-   if (!last_chunk)
-      return;
-
-   while ((chunk = ani_load_chunk(ani)))
-     {
-        last_chunk->next = chunk;
-        last_chunk = chunk;
-     }
-}
-
-static char        *
-ani_save_ico(MsChunk * chunk)
-{
-   char                tmp[] = "/tmp/imlib2_loader_ani-XXXXXX";
-   int                 fd;
-
-   fd = mkstemp(tmp);
-   if (fd < 0)
-      return NULL;
-
-   write(fd, &chunk->data, chunk->chunk_size);
-   close(fd);
-
-   return strdup(tmp);
-}
-
-static int
-_load(ImlibImage * im, int load_data)
-{
-   int                 rc;
-   ImlibLoader        *loader;
-   MsAni              *ani = NULL;
-   MsChunk            *chunk;
-
-   if (!im->fi->fp)
-      return LOAD_FAIL;
-
-   loader = __imlib_FindBestLoader(NULL, "ico", 0);
-   if (!loader)
-      return LOAD_FAIL;
-
-   ani = ani_init(im->fi->fp);
-   if (!ani)
-      return LOAD_FAIL;
-
-   ani_load(ani);
-
-   rc = LOAD_FAIL;
-
-   for (chunk = ani->chunks; chunk; chunk = chunk->next)
-     {
-        if (chunk->chunk_id == 0x6E6F6369)
-          {
-             char               *tmpfile;
-
-             if (!(tmpfile = ani_save_ico(chunk)))
-                break;
-
-             rc = __imlib_LoadEmbedded(loader, im, tmpfile, load_data);
-
-             unlink(tmpfile);
-             free(tmpfile);
-             break;
-          }
-     }
-
-   ani_cleanup(ani);
-
-   return rc;
-}
-
-IMLIB_LOADER(_formats, _load, NULL);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to