}
#endif
+#if defined(MAGICKCORE_LZMA_DELEGATE)
+static void *AcquireLZMAMemory(void *context,size_t items,size_t size)
+{
+ (void) context;
+ return((void *) AcquireQuantumMemory((size_t) items,(size_t) size));
+}
+#endif
+
#if defined(MAGICKCORE_ZLIB_DELEGATE)
static voidpf AcquireZIPMemory(voidpf context,unsigned int items,
unsigned int size)
*length=(size_t) (*p++)+1;
}
-#if defined(MAGICKCORE_ZLIB_DELEGATE)
-static void RelinquishZIPMemory(voidpf context,voidpf memory)
+#if defined(MAGICKCORE_BZLIB_DELEGATE)
+static void RelinquishBZIPMemory(void *context,void *memory)
{
(void) context;
memory=RelinquishMagickMemory(memory);
}
#endif
-#if defined(MAGICKCORE_BZLIB_DELEGATE)
-static void RelinquishBZIPMemory(void *context,void *memory)
+#if defined(MAGICKCORE_LZMA_DELEGATE)
+static void RelinquishLZMAMemory(void *context,void *memory)
+{
+ (void) context;
+ memory=RelinquishMagickMemory(memory);
+}
+#endif
+
+#if defined(MAGICKCORE_ZLIB_DELEGATE)
+static void RelinquishZIPMemory(voidpf context,voidpf memory)
{
(void) context;
memory=RelinquishMagickMemory(memory);
#if defined(MAGICKCORE_LZMA_DELEGATE)
lzma_stream
lzma_info = LZMA_STREAM_INIT;
+
+ lzma_allocator
+ allocator;
#endif
LinkedListInfo
code=lzma_auto_decoder(&lzma_info,-1,0);
if (code != LZMA_OK)
status=MagickFalse;
+ allocator.alloc=AcquireLZMAMemory;
+ allocator.free=RelinquishLZMAMemory;
+ allocator.opaque=(void *) NULL;
+ lzma_info.allocator=&allocator;
lzma_info.avail_in=0;
}
lzma_info.next_out=pixels;
code;
#if defined(MAGICKCORE_LZMA_DELEGATE)
+ lzma_allocator
+ allocator;
+
lzma_stream
lzma_info = LZMA_STREAM_INIT;
#endif
LZMA_CHECK_SHA256);
if (code != LZMA_OK)
status=MagickTrue;
+ allocator.alloc=AcquireLZMAMemory;
+ allocator.free=RelinquishLZMAMemory;
+ allocator.opaque=(void *) NULL;
+ lzma_info.allocator=&allocator;
}
lzma_info.next_in=pixels;
lzma_info.avail_in=(uInt) (packet_size*image->columns);