]> granicus.if.org Git - imagemagick/commitdiff
Improved detection of svg files.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sun, 8 Jul 2018 20:16:50 +0000 (22:16 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sun, 8 Jul 2018 20:16:50 +0000 (22:16 +0200)
MagickCore/magic.c
coders/svg.c

index 70eaa2ed244b37c2b1ca3731e3e9d2c1047c5477..04ec12bb1e3c43e9e3a2ade584c5a8838f7a87ca 100644 (file)
@@ -186,6 +186,8 @@ static const MagicMapInfo
     { "SUN", 0, MagicPattern("\131\246\152\225") },
     { "SVG", 1, MagicPattern("?XML") },
     { "SVG", 1, MagicPattern("?xml") },
+    { "SVG", 1, MagicPattern("SVG") },
+    { "SVG", 1, MagicPattern("svg") },
     { "TIFF", 0, MagicPattern("\115\115\000\052") },
     { "TIFF", 0, MagicPattern("\111\111\052\000") },
     { "TIFF64", 0, MagicPattern("\115\115\000\053\000\010\000\000") },
index fa52f93eef9c7402cf64d5a49e0dcca79164bc35..ebbecba4a53a1fb3a91373141165b20fc4d57828 100644 (file)
@@ -224,12 +224,15 @@ static MagickBooleanType IsSVG(const unsigned char *magick,const size_t length)
 {
   if (length < 4)
     return(MagickFalse);
-  if (LocaleNCompare((const char *) magick,"?xml",4) == 0)
+  if (LocaleNCompare((const char *) magick+1,"svg",3) == 0)
+    return(MagickTrue);
+  if (length < 5)
+    return(MagickFalse);
+  if (LocaleNCompare((const char *) magick+1,"?xml",4) == 0)
     return(MagickTrue);
   return(MagickFalse);
 }
-
-
+\f
 #if defined(MAGICKCORE_XML_DELEGATE)
 /*
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%