mirror of
https://github.com/ImageMagick/ImageMagick.git
synced 2026-06-12 15:37:14 +02:00
Added extra option to the skip spaces to the MagicInfo.
This commit is contained in:
+9
-2
@@ -80,6 +80,9 @@ typedef struct _MagicMapInfo
|
||||
|
||||
const size_t
|
||||
length;
|
||||
|
||||
const MagickBooleanType
|
||||
skip_spaces;
|
||||
} MagicMapInfo;
|
||||
|
||||
struct _MagicInfo
|
||||
@@ -96,6 +99,9 @@ struct _MagicInfo
|
||||
MagickOffsetType
|
||||
offset;
|
||||
|
||||
MagickBooleanType
|
||||
skip_spaces;
|
||||
|
||||
size_t
|
||||
signature;
|
||||
};
|
||||
@@ -214,6 +220,7 @@ static LinkedListInfo *AcquireMagicList(ExceptionInfo *exception)
|
||||
magic_info->offset=p->offset;
|
||||
magic_info->magic=(unsigned char *) p->magic;
|
||||
magic_info->length=p->length;
|
||||
magic_info->skip_spaces=p->skip_spaces;
|
||||
magic_info->signature=MagickCoreSignature;
|
||||
status&=InsertValueInSortedLinkedList(list,CompareMagickInfoExtent,
|
||||
NULL,magic_info);
|
||||
@@ -291,7 +298,7 @@ MagickExport const MagicInfo *GetMagicInfo(const unsigned char *magic,
|
||||
p=(const MagicInfo *) GetNextValueInLinkedList(magic_cache);
|
||||
while (p != (const MagicInfo *) NULL)
|
||||
{
|
||||
if (LocaleCompare(p->name,"SVG") == 0)
|
||||
if (p->skip_spaces != MagickFalse)
|
||||
while (isspace(*magic) != 0) magic++;
|
||||
offset=p->offset+(MagickOffsetType) p->length;
|
||||
if ((offset <= (MagickOffsetType) length) &&
|
||||
@@ -317,7 +324,7 @@ MagickExport const MagicInfo *GetMagicInfo(const unsigned char *magic,
|
||||
while (p != (const MagicInfo *) NULL)
|
||||
{
|
||||
assert(p->offset >= 0);
|
||||
if (LocaleCompare(p->name,"SVG") == 0)
|
||||
if (p->skip_spaces != MagickFalse)
|
||||
while (isspace(*magic) != 0) magic++;
|
||||
offset=p->offset+(MagickOffsetType) p->length;
|
||||
if ((offset <= (MagickOffsetType) length) &&
|
||||
|
||||
@@ -21,8 +21,11 @@
|
||||
#include "MagickCore/property.h"
|
||||
#include "MagickCore/string_.h"
|
||||
|
||||
#define MagickCoderHeader(coder,offset,magic) { coder, offset, \
|
||||
(const unsigned char *) (magic), sizeof(magic)-1 },
|
||||
#define MagickCoderHeader(coder,offset,magic) \
|
||||
{ coder, offset, (const unsigned char *) (magic), sizeof(magic)-1, MagickFalse },
|
||||
|
||||
#define MagickExtendedCoderHeader(coder,offset,magic,skip_spaces) \
|
||||
{ coder, offset, (const unsigned char *) (magic), sizeof(magic)-1, skip_spaces },
|
||||
|
||||
#define MagickCoderAlias(coder,alias) { alias, coder },
|
||||
|
||||
|
||||
+4
-4
@@ -17,10 +17,10 @@
|
||||
#include "coders/coders-private.h"
|
||||
|
||||
#define MagickSVGHeaders \
|
||||
MagickCoderHeader("SVG", 1, "?XML") \
|
||||
MagickCoderHeader("SVG", 1, "?xml") \
|
||||
MagickCoderHeader("SVG", 1, "SVG") \
|
||||
MagickCoderHeader("SVG", 1, "svg")
|
||||
MagickExtendedCoderHeader("SVG", 1, "?XML", MagickTrue) \
|
||||
MagickExtendedCoderHeader("SVG", 1, "?xml", MagickTrue) \
|
||||
MagickExtendedCoderHeader("SVG", 1, "SVG", MagickTrue) \
|
||||
MagickExtendedCoderHeader("SVG", 1, "svg", MagickTrue)
|
||||
|
||||
#define MagickSVGAliases \
|
||||
MagickCoderAlias("SVG", "SVGZ") \
|
||||
|
||||
Reference in New Issue
Block a user