status=SetImageOption(image_info,"filename",argv[i]);
if (status == MagickFalse)
ThrowConjureException(ImageError,"UnableToPersistKey",argv[i]);
- (void) FormatLocaleString(filename,MagickPathExtent,"msl:%s",argv[i]);
+ (void) FormatLocaleString(filename,MagickPathExtent,"%s",argv[i]);
image=ReadImages(image_info,filename,exception);
CatchException(exception);
if (image != (Image *) NULL)
msl_info->image[msl_info->n]=DestroyImage(msl_info->image[msl_info->n]);
msl_info->attributes[msl_info->n]=DestroyImage(
msl_info->attributes[msl_info->n]);
+ msl_info->draw_info[msl_info->n]=DestroyDrawInfo(
+ msl_info->draw_info[msl_info->n]);
msl_info->image_info[msl_info->n]=DestroyImageInfo(
msl_info->image_info[msl_info->n]);
msl_info->n--;
*/
xmlFreeParserCtxt(msl_info.parser);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),"end SAX");
- msl_info.group_info=(MSLGroupInfo *) RelinquishMagickMemory(
- msl_info.group_info);
if (*image == (Image *) NULL)
- *image=(*msl_info.image);
- *msl_info.image_info=DestroyImageInfo(*msl_info.image_info);
- msl_info.image_info=(ImageInfo **) RelinquishMagickMemory(
- msl_info.image_info);
- *msl_info.draw_info=DestroyDrawInfo(*msl_info.draw_info);
+ *image=CloneImage(*msl_info.image,0,0,MagickTrue,exception);
+ while (msl_info.n >= 0)
+ {
+ msl_info.image[msl_info.n]=DestroyImage(msl_info.image[msl_info.n]);
+ msl_info.attributes[msl_info.n]=DestroyImage(
+ msl_info.attributes[msl_info.n]);
+ msl_info.draw_info[msl_info.n]=DestroyDrawInfo(
+ msl_info.draw_info[msl_info.n]);
+ msl_info.image_info[msl_info.n]=DestroyImageInfo(
+ msl_info.image_info[msl_info.n]);
+ msl_info.n--;
+ }
msl_info.draw_info=(DrawInfo **) RelinquishMagickMemory(msl_info.draw_info);
msl_info.image=(Image **) RelinquishMagickMemory(msl_info.image);
- *msl_info.attributes=DestroyImage(*msl_info.attributes);
msl_info.attributes=(Image **) RelinquishMagickMemory(msl_info.attributes);
+ msl_info.image_info=(ImageInfo **) RelinquishMagickMemory(
+ msl_info.image_info);
msl_info.group_info=(MSLGroupInfo *) RelinquishMagickMemory(
msl_info.group_info);
if (msl_info.exception->severity != UndefinedException)
Image
*msl_image;
- MagickBooleanType
- status;
-
assert(image_info != (const ImageInfo *) NULL);
assert(image_info->signature == MagickCoreSignature);
assert(image != (Image *) NULL);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
msl_image=CloneImage(image,0,0,MagickTrue,exception);
- status=ProcessMSLScript(image_info,&msl_image,exception);
- if (msl_image != (Image *) NULL)
- msl_image=DestroyImage(msl_image);
- return(status);
+ return(ProcessMSLScript(image_info,&msl_image,exception));
}
#endif