Commit 560f000e7 for imagemagick.org
commit 560f000e78bd29e4e01fa93c777479d089a7a6bc
Author: Cristy <urban-warrior@imagemagick.org>
Date: Mon Jul 6 14:01:19 2026 -0400
support ImageInfo properties member
diff --git a/MagickCore/image.c b/MagickCore/image.c
index 91d44dbdf..5502f2c5b 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -1011,6 +1011,8 @@ MagickExport ImageInfo *CloneImageInfo(const ImageInfo *image_info)
image_info->profile);
SetImageInfoFile(clone_info,image_info->file);
SetImageInfoBlob(clone_info,image_info->blob,image_info->length);
+ (void) memcpy(clone_info->properties,image_info->properties,
+ sizeof(struct stat));
clone_info->stream=image_info->stream;
clone_info->custom_stream=image_info->custom_stream;
(void) CopyMagickString(clone_info->magick,image_info->magick,
@@ -1294,6 +1296,8 @@ MagickExport ImageInfo *DestroyImageInfo(ImageInfo *image_info)
if (image_info->profile != (StringInfo *) NULL)
image_info->profile=(void *) DestroyStringInfo((StringInfo *)
image_info->profile);
+ if (image_info->properties != NULL)
+ image_info->properties=RelinquishMagickMemory(image_info->properties);
DestroyImageOptions(image_info);
image_info->signature=(~MagickCoreSignature);
image_info=(ImageInfo *) RelinquishMagickMemory(image_info);
@@ -1384,6 +1388,7 @@ MagickExport void GetImageInfo(ImageInfo *image_info)
GetPixelInfoRGBA(BorderColorRGBA,&image_info->border_color);
GetPixelInfoRGBA(MatteColorRGBA,&image_info->matte_color);
GetPixelInfoRGBA(TransparentColorRGBA,&image_info->transparent_color);
+ image_info->properties=AcquireCriticalMemory(sizeof(struct stat));
image_info->debug=(GetLogEventMask() & ImageEvent) != 0 ? MagickTrue :
MagickFalse;
image_info->signature=MagickCoreSignature;
@@ -3086,6 +3091,8 @@ MagickExport MagickBooleanType SetImageInfo(ImageInfo *image_info,
(void) CopyMagickString(image_info->filename,component,
MagickPathExtent);
image_info->temporary=MagickTrue;
+ (void) memcpy(image_info->properties,GetBlobProperties(image),
+ sizeof(struct stat));
}
magick=(unsigned char *) AcquireQuantumMemory(1,magick_size);
if (magick == (unsigned char *) NULL)
diff --git a/MagickCore/image.h b/MagickCore/image.h
index bbc3dfe33..682915888 100644
--- a/MagickCore/image.h
+++ b/MagickCore/image.h
@@ -475,6 +475,9 @@ struct _ImageInfo
PixelInfo
matte_color; /* matte (frame) color */
+
+ void
+ *properties;
};
extern MagickExport ChannelType