]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 16 Mar 2014 22:16:22 +0000 (22:16 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 16 Mar 2014 22:16:22 +0000 (22:16 +0000)
13 files changed:
MagickCore/coder.c
MagickCore/color.c
MagickCore/configure.c
MagickCore/delegate.c
MagickCore/locale.c
MagickCore/log.c
MagickCore/magic.c
MagickCore/mime.c
MagickCore/policy.c
MagickCore/version.h
MagickCore/xml-tree-private.h
MagickCore/xml-tree.c
configure

index 46ef8da79418cfda37246e7f3fe31f614f46fe00..b5d29d88d8c4fd6a12897c4c555126092323ea9a 100644 (file)
@@ -59,6 +59,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -857,7 +858,7 @@ static MagickBooleanType LoadCoderCache(SplayTreeInfo *coder_cache,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status&=LoadCoderCache(coder_cache,xml,path,depth+1,
index 2b8c1df0865501c4c76d185512e48852ba4f4503..672e5686324cf8e1eb8d876ab3cc25d32635f5f0 100644 (file)
@@ -69,6 +69,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -2012,7 +2013,7 @@ static MagickBooleanType LoadColorCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadColorCache(xml,path,depth+1,exception);
index 563e0c6928e03411164abdd969cf53e6a7169356..0ce41603e012a2665aaf44b96b97659e50b60c04 100644 (file)
@@ -56,6 +56,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -1208,7 +1209,7 @@ static MagickBooleanType LoadConfigureCache(const char *xml,const char *filename
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadConfigureCache(xml,path,depth+1,exception);
index 7544bd93d681ea8ebec0af4926a89a9b35e6570d..d83953a35e09354ee68991a4245106e2293b1e2e 100644 (file)
@@ -67,6 +67,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -1361,7 +1362,7 @@ static MagickBooleanType LoadDelegateCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadDelegateCache(xml,path,depth+1,exception);
index 3c2a247acfd91a6d93125428325f5768e9e6b2a0..3715cafc5e098d49c25532b5d6c62be0b7b3d28d 100644 (file)
@@ -59,6 +59,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -1266,7 +1267,7 @@ static MagickBooleanType LoadLocaleCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadLocaleCache(xml,path,locale,depth+1,exception);
index c7b3051ec77735d4c26fd608e210c5613de918d2..457ff115dc31c7335e283db9591c85f19167f0f3 100644 (file)
@@ -63,6 +63,7 @@
 #include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -1484,7 +1485,7 @@ static MagickBooleanType LoadLogCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status&=LoadLogCache(xml,path,depth+1,exception);
index abab71d289ce8cd13fc1275c503a8fb4fdabfd19..39402b3764f07d7c147f7ed59b47bd044fef03be 100644 (file)
@@ -57,6 +57,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -845,7 +846,7 @@ static MagickBooleanType LoadMagicCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadMagicCache(xml,path,depth+1,exception);
index c558581bd981e568ab6120f257d8b9b110a23bb8..ada6eb7789f59f596b586fa35a0aabf12256026f 100644 (file)
@@ -853,7 +853,7 @@ static MagickBooleanType LoadMimeCache(const char *xml,const char *filename,
               (void) CopyMagickString(path,attribute,MaxTextExtent);
             else
               (void) ConcatenateMagickString(path,attribute,MaxTextExtent);
-            xml=FileToString(path,~0UL,exception);
+            xml=FileToXML(path,~0UL);
             if (xml != (char *) NULL)
               {
                 status=LoadMimeCache(xml,path,depth+1,exception);
index 2db65d19f68d686e5620bd0ec83d7b040dba852a..6db2320823f2ce00e10d5b257a727e2f5fac93bb 100644 (file)
@@ -58,6 +58,7 @@
 #include "MagickCore/utility.h"
 #include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
+#include "MagickCore/xml-tree-private.h"
 \f
 /*
   Define declarations.
@@ -822,7 +823,7 @@ static MagickBooleanType LoadPolicyCache(const char *xml,const char *filename,
                     (void) CopyMagickString(path,token,MaxTextExtent);
                   else
                     (void) ConcatenateMagickString(path,token,MaxTextExtent);
-                  xml=FileToString(path,~0UL,exception);
+                  xml=FileToXML(path,~0UL);
                   if (xml != (char *) NULL)
                     {
                       status=LoadPolicyCache(xml,path,depth+1,exception);
index a876602e9edac381cf189af6aa919a57d1978407..6883fdda2f94d0003e21050ea91c1c0b073e8098 100644 (file)
@@ -27,7 +27,7 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2014 ImageMagick Studio LLC"
-#define MagickSVNRevision  "15038M"
+#define MagickSVNRevision  "15136:15146M"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  1,0,0
@@ -48,7 +48,7 @@ extern "C" {
 #define MagickppLibAddendum  "-0"
 #define MagickppLibInterface  1
 #define MagickppLibMinInterface  1
-#define MagickReleaseDate  "2014-03-07"
+#define MagickReleaseDate  "2014-03-16"
 #define MagickChangeDate   "20120427"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #define MagickFeatures "DPC HDRI OpenMP"
index a954cedb0a4c72167b75c17a9579ae502870c914..e40def9d14c505a160a7a8420deef984f10095e1 100644 (file)
@@ -26,7 +26,8 @@ extern "C" {
 #endif
 
 extern MagickPrivate char
-  *CanonicalXMLContent(const char *,const MagickBooleanType);
+  *CanonicalXMLContent(const char *,const MagickBooleanType),
+  *FileToXML(const char *,const size_t);
 
 extern MagickPrivate const char
   **GetXMLTreeProcessingInstructions(XMLTreeInfo *,const char *);
index 7518cc84a9c8ccac3891ef02d7eeeba011f50a86..b7cadf339e71a5f7a1962d91115aead76f8c8f47 100644 (file)
@@ -49,6 +49,7 @@
 */
 #include "MagickCore/studio.h"
 #include "MagickCore/blob.h"
+#include "MagickCore/blob-private.h"
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
 #include "MagickCore/log.h"
@@ -541,6 +542,163 @@ MagickExport XMLTreeInfo *DestroyXMLTree(XMLTreeInfo *xml_info)
 %                                                                             %
 %                                                                             %
 %                                                                             %
+%   F i l e T o X M L                                                         %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  FileToXML() returns the contents of a file as a XML string.
+%
+%  The format of the FileToXML method is:
+%
+%      char *FileToXML(const char *filename,const size_t extent)
+%
+%  A description of each parameter follows:
+%
+%    o filename: the filename.
+%
+%    o extent: Maximum length of the string.
+%
+*/
+
+static inline size_t MagickMin(const size_t x,const size_t y)
+{
+  if (x < y)
+    return(x);
+  return(y);
+}
+
+MagickPrivate char *FileToXML(const char *filename,const size_t extent)
+{
+  char
+    *xml;
+
+  int
+    file;
+
+  MagickOffsetType
+    offset;
+
+  register size_t
+    i;
+
+  size_t
+    length;
+
+  ssize_t
+    count;
+
+  void
+    *map;
+
+  assert(filename != (const char *) NULL);
+  length=0;
+  file=fileno(stdin);
+  if (LocaleCompare(filename,"-") != 0)
+    file=open_utf8(filename,O_RDONLY | O_BINARY,0);
+  if (file == -1)
+    return((char *) NULL);
+  offset=(MagickOffsetType) lseek(file,0,SEEK_END);
+  count=0;
+  if ((file == fileno(stdin)) || (offset < 0) ||
+      (offset != (MagickOffsetType) ((ssize_t) offset)))
+    {
+      size_t
+        quantum;
+
+      struct stat
+        file_stats;
+
+      /*
+        Stream is not seekable.
+      */
+      offset=(MagickOffsetType) lseek(file,0,SEEK_SET);
+      quantum=(size_t) MagickMaxBufferExtent;
+      if ((fstat(file,&file_stats) == 0) && (file_stats.st_size != 0))
+        quantum=(size_t) MagickMin((MagickSizeType) file_stats.st_size,
+          MagickMaxBufferExtent);
+      xml=(char *) AcquireQuantumMemory(quantum,sizeof(*xml));
+      for (i=0; xml != (char *) NULL; i+=count)
+      {
+        count=read(file,xml+i,quantum);
+        if (count <= 0)
+          {
+            count=0;
+            if (errno != EINTR)
+              break;
+          }
+        if (~((size_t) i) < (quantum+1))
+          {
+            xml=(char *) RelinquishMagickMemory(xml);
+            break;
+          }
+        xml=(char *) ResizeQuantumMemory(xml,i+quantum+1,sizeof(*xml));
+        if ((size_t) (i+count) >= extent)
+          break;
+      }
+      if (LocaleCompare(filename,"-") != 0)
+        file=close(file);
+      if (xml == (char *) NULL)
+        return((char *) NULL);
+      if (file == -1)
+        {
+          xml=(char *) RelinquishMagickMemory(xml);
+          return((char *) NULL);
+        }
+      length=(size_t) MagickMin(i+count,extent);
+      xml[length]='\0';
+      return(xml);
+    }
+  length=(size_t) MagickMin((MagickSizeType) offset,extent);
+  xml=(char *) NULL;
+  if (~length >= (MaxTextExtent-1))
+    xml=(char *) AcquireQuantumMemory(length+MaxTextExtent,sizeof(*xml));
+  if (xml == (char *) NULL)
+    {
+      file=close(file);
+      return((char *) NULL);
+    }
+  map=MapBlob(file,ReadMode,0,length);
+  if (map != (char *) NULL)
+    {
+      (void) memcpy(xml,map,length);
+      (void) UnmapBlob(map,length);
+    }
+  else
+    {
+      (void) lseek(file,0,SEEK_SET);
+      for (i=0; i < length; i+=count)
+      {
+        count=read(file,xml+i,(size_t) MagickMin(length-i,(MagickSizeType)
+          SSIZE_MAX));
+        if (count <= 0)
+          {
+            count=0;
+            if (errno != EINTR)
+              break;
+          }
+      }
+      if (i < length)
+        {
+          file=close(file)-1;
+          xml=(char *) RelinquishMagickMemory(xml);
+          return((char *) NULL);
+        }
+    }
+  xml[length]='\0';
+  if (LocaleCompare(filename,"-") != 0)
+    file=close(file);
+  if (file == -1)
+    xml=(char *) RelinquishMagickMemory(xml);
+  return(xml);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
 %   G e t N e x t X M L T r e e T a g                                         %
 %                                                                             %
 %                                                                             %
index a482eaf22b866aeb37e558acfa974dcddbe054ee..153c2c1a597335dd126102efa4b7751b2bcb6849 100755 (executable)
--- a/configure
+++ b/configure
@@ -3702,7 +3702,7 @@ MAGICK_PATCHLEVEL_VERSION=0
 
 MAGICK_VERSION=7.0.0-0
 
-MAGICK_SVN_REVISION=15038M
+MAGICK_SVN_REVISION=15136:15146M
 
 
 # Substitute library versioning