% Execute Magick Scripting Language Scripts. %
% %
% Software Design %
-% John Cristy %
+% Cristy %
% Leonard Rosenthol %
% William Radcliffe %
% December 2001 %
% %
% %
-% Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
#include "MagickCore/blob-private.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-view.h"
+#include "MagickCore/channel.h"
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colormap.h"
msl_info->image=(Image **) ResizeQuantumMemory(msl_info->image,(n+1),
sizeof(*msl_info->image));
if ((msl_info->image_info == (ImageInfo **) NULL) ||
- (msl_info->draw_info == (DrawInfo **) NULL) ||
- (msl_info->attributes == (Image **) NULL) ||
- (msl_info->image == (Image **) NULL))
- ThrowMSLException(ResourceLimitFatalError,"MemoryAllocationFailed","msl");
+ (msl_info->draw_info == (DrawInfo **) NULL) ||
+ (msl_info->attributes == (Image **) NULL) ||
+ (msl_info->image == (Image **) NULL))
+ ThrowMSLException(ResourceLimitFatalError,"MemoryAllocationFailed","msl");
msl_info->image_info[n]=CloneImageInfo(msl_info->image_info[n-1]);
msl_info->draw_info[n]=CloneDrawInfo(msl_info->image_info[n-1],
msl_info->draw_info[n-1]);
msl_info->exception);
msl_info->image[n]=(Image *) image;
if ((msl_info->image_info[n] == (ImageInfo *) NULL) ||
- (msl_info->attributes[n] == (Image *) NULL))
+ (msl_info->attributes[n] == (Image *) NULL))
ThrowMSLException(ResourceLimitFatalError,"MemoryAllocationFailed","msl");
if (msl_info->number_groups != 0)
msl_info->group_info[msl_info->number_groups-1].numImages++;
keyword=(const char *) NULL;
value=(char *) NULL;
SetGeometryInfo(&geometry_info);
+ (void) ResetMagickMemory(&geometry,0,sizeof(geometry));
channel=DefaultChannels;
switch (*tag)
{
case 'P':
case 'p':
{
- if (LocaleCompare(keyword,"primitive") == 0)
+ if (LocaleCompare(keyword,"points") == 0)
{
- CloneString(&draw_info->primitive,value);
+ if (LocaleCompare(draw_info->primitive,"path") == 0)
+ {
+ (void) ConcatenateString(&draw_info->primitive," '");
+ ConcatenateString(&draw_info->primitive,value);
+ (void) ConcatenateString(&draw_info->primitive,"'");
+ }
+ else
+ {
+ (void) ConcatenateString(&draw_info->primitive," ");
+ ConcatenateString(&draw_info->primitive,value);
+ }
break;
}
if (LocaleCompare(keyword,"pointsize") == 0)
(char **) NULL);
break;
}
+ if (LocaleCompare(keyword,"primitive") == 0)
+ {
+ CloneString(&draw_info->primitive,value);
+ break;
+ }
ThrowMSLException(OptionError,"UnrecognizedAttribute",
keyword);
break;
geometry;
(void) ResetMagickMemory(&geometry,0,sizeof(geometry));
- image_option=GetImageOption(msl_info->image_info[n],"page");
+ image_option=GetImageArtifact(msl_info->image[n],"page");
if (image_option != (const char *) NULL)
flags=ParseAbsoluteGeometry(image_option,&geometry);
flags=ParseAbsoluteGeometry(value,&geometry);
(void) xmlParseChunk(msl_info.parser," ",1,MagickTrue);
xmlFreeParserCtxt(msl_info.parser);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),"end SAX");
- xmlCleanupParser();
msl_info.group_info=(MSLGroupInfo *) RelinquishMagickMemory(
msl_info.group_info);
if (*image == (Image *) NULL)
MagickInfo
*entry;
+#if defined(MAGICKCORE_XML_DELEGATE)
+ xmlInitParser();
+#endif
entry=SetMagickInfo("MSL");
#if defined(MAGICKCORE_XML_DELEGATE)
entry->decoder=(DecodeImageHandler *) ReadMSLImage;
ModuleExport void UnregisterMSLImage(void)
{
(void) UnregisterMagickInfo("MSL");
+#if defined(MAGICKCORE_XML_DELEGATE)
+ xmlCleanupParser();
+#endif
}
\f
#if defined(MAGICKCORE_XML_DELEGATE)