diff -ur fail-2.0.1/failmagick.c fail-2.0.1-im7/failmagick.c --- fail-2.0.1/failmagick.c 2013-03-20 10:14:11.000000000 +0100 +++ fail-2.0.1-im7/failmagick.c 2016-12-26 11:22:35.114121922 +0100 @@ -23,23 +23,24 @@ #include "fail.h" -#include "magick/studio.h" -#include "magick/blob.h" -#include "magick/blob-private.h" -#include "magick/colorspace.h" -#include "magick/exception.h" -#include "magick/exception-private.h" -#include "magick/image.h" -#include "magick/image-private.h" -#include "magick/list.h" -#include "magick/magick.h" -#include "magick/memory_.h" -#include "magick/monitor.h" -#include "magick/monitor-private.h" -#include "magick/quantum-private.h" -#include "magick/static.h" -#include "magick/string_.h" -#include "magick/module.h" +#include "MagickCore/studio.h" +#include "MagickCore/blob.h" +#include "MagickCore/blob-private.h" +#include "MagickCore/colorspace.h" +#include "MagickCore/exception.h" +#include "MagickCore/exception-private.h" +#include "MagickCore/image.h" +#include "MagickCore/image-private.h" +#include "MagickCore/list.h" +#include "MagickCore/magick.h" +#include "MagickCore/memory_.h" +#include "MagickCore/monitor.h" +#include "MagickCore/monitor-private.h" +#include "MagickCore/pixel-accessor.h" +#include "MagickCore/quantum-private.h" +#include "MagickCore/static.h" +#include "MagickCore/string_.h" +#include "MagickCore/module.h" static MagickBooleanType IsFAIL(const unsigned char *magick, const size_t length) { @@ -53,18 +54,18 @@ int content_len; FAIL *fail; Image *image; - PixelPacket *q; + Quantum *q; const int *pixels; int num_pixels; int i; assert(image_info != NULL); - assert(image_info->signature == MagickSignature); + assert(image_info->signature == MagickCoreSignature); if (image_info->debug) LogMagickEvent(TraceEvent, GetMagickModule(), "%s", image_info->filename); assert(exception != NULL); - assert(exception->signature == MagickSignature); - image = AcquireImage(image_info); + assert(exception->signature == MagickCoreSignature); + image = AcquireImage(image_info, exception); if (!OpenBlob(image_info, image, ReadBinaryBlobMode, exception)) { (void) DestroyImageList(image); return NULL; @@ -82,8 +83,7 @@ } image->depth = 8; - if (!SetImageExtent(image, FAIL_GetWidth(fail), FAIL_GetHeight(fail))) { - InheritException(exception, &image->exception); + if (!SetImageExtent(image, FAIL_GetWidth(fail), FAIL_GetHeight(fail), exception)) { FAIL_Delete(fail); (void) DestroyImageList(image); return NULL; @@ -100,9 +100,10 @@ num_pixels = image->columns * image->rows; for (i = 0; i < num_pixels; i++) { int rgb = pixels[i]; - q[i].red = ScaleCharToQuantum((unsigned char) (rgb >> 16)); - q[i].green = ScaleCharToQuantum((unsigned char) (rgb >> 8)); - q[i].blue = ScaleCharToQuantum((unsigned char) rgb); + SetPixelRed(image, ScaleCharToQuantum((unsigned char) (rgb >> 16)), q); + SetPixelGreen(image, ScaleCharToQuantum((unsigned char) (rgb >> 8)), q); + SetPixelBlue(image, ScaleCharToQuantum((unsigned char) rgb), q); + q += GetPixelChannels(image); } FAIL_Delete(fail); SyncAuthenticPixels(image, exception); @@ -250,7 +251,7 @@ const struct Format *pf; MagickInfo *entry; for (pf = formats; pf < formats + sizeof(formats) / sizeof(formats[0]); pf++) { - entry = SetMagickInfo(pf->name); + entry = AcquireMagickInfo(ConstantString("FAIL"), pf->name, pf->description); entry->decoder = ReadFAILImage; entry->magick = IsFAIL; entry->description = ConstantString(pf->description);