]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Wed, 1 Feb 2017 17:04:28 +0000 (12:04 -0500)
committerCristy <urban-warrior@imagemagick.org>
Wed, 1 Feb 2017 17:04:28 +0000 (12:04 -0500)
MagickCore/blob-private.h
MagickCore/blob.c
MagickCore/blob.h
MagickCore/image.c
MagickCore/image.h

index 7f7d797ec4c975517585028b270e8ebb324ebbd0..152a0b259da91f62b186b8b06076d686fb149ea7 100644 (file)
@@ -139,12 +139,7 @@ extern MagickExport void
   GetBlobInfo(BlobInfo *),
   *MapBlob(int,const MapMode,const MagickOffsetType,const size_t),
   MSBOrderLong(unsigned char *,const size_t),
-  MSBOrderShort(unsigned char *,const size_t),
-  SetBlobCustomStream(BlobInfo *,
-    ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-    ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-    size_t (*seeker)(const MagickOffsetType,const int,const void *),
-    MagickOffsetType (*teller)(const void *));
+  MSBOrderShort(unsigned char *,const size_t);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
index ae1ed4735f4b69c665dca821c5c48ff6959f6e0b..4102dbde7d763f000673f9ca92c8f602e9db69b8 100644 (file)
 /*
   Typedef declarations.
 */
-typedef ssize_t
-  (*BlobHandler)(const unsigned char *,const size_t,const void *);
-
-typedef size_t
-  (*BlobSeeker)(const MagickOffsetType offset,const int whence,const void *);
-
-typedef MagickOffsetType
-  (*BlobTeller)(const void *);
-
-struct _CustomStreamInfo
-{
-  BlobHandler
-    reader,
-    writer;
-
-  BlobSeeker
-    seeker;
-
-  BlobTeller
-    teller;
-
-  void
-    *data;
-};
-
 typedef union FileInfo
 {
   FILE
@@ -1080,7 +1055,7 @@ MagickExport void *FileToBlob(const char *filename,const size_t extent,
       blob[*length]='\0';
       return(blob);
     }
-  *length=(size_t) MagickMin(offset,(MagickOffsetType) 
+  *length=(size_t) MagickMin(offset,(MagickOffsetType)
     MagickMin(extent,SSIZE_MAX));
   blob=(unsigned char *) NULL;
   if (~(*length) >= (MagickPathExtent-1))
@@ -2293,8 +2268,8 @@ MagickExport MagickBooleanType InjectImageBlob(const ImageInfo *image_info,
       (void) RelinquishUniqueFileResource(filename);
       return(MagickFalse);
     }
-  (void) FormatLocaleString(byte_image->filename,MagickPathExtent,"%s:%s",format,
-    filename);
+  (void) FormatLocaleString(byte_image->filename,MagickPathExtent,"%s:%s",
+    format,filename);
   DestroyBlob(byte_image);
   byte_image->blob=CloneBlobInfo((BlobInfo *) NULL);
   write_info=CloneImageInfo(image_info);
@@ -4385,54 +4360,6 @@ MagickExport MagickOffsetType SeekBlob(Image *image,
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%   S e t B l o b C u s t o m S t r e a m                                     %
-%                                                                             %
-%                                                                             %
-%                                                                             %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%  SetBlobCustomStream() sets the blob's custom stream handlers.
-%
-%  The format of the SetBlobCustomStream method is:
-%
-%      void SetBlobCustomStream(BlobInfo *blob_info,
-%        ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-%        ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-%        size_t (*seeker)(const MagickOffsetType,const int,const void *),
-%        MagickOffsetType (*teller)(const void *))
-%
-%  A description of each parameter follows:
-%
-%    o blob_info: the blob info.
-%
-%    o reader: your custom stream reader.
-%
-%    o writer: your custom stream writer.
-%
-%    o seeker: your custom stream seeker.
-%
-%    o teller: your custom stream teller.
-%
-*/
-MagickExport void SetBlobCustomStream(BlobInfo *blob_info,
-  ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-  ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-  size_t (*seeker)(const MagickOffsetType,const int,const void *),
-  MagickOffsetType (*teller)(const void *))
-{
-  assert(blob_info != (BlobInfo *) NULL);
-  assert(blob_info->signature == MagickCoreSignature);
-  blob_info->custom_stream->reader=reader;
-  blob_info->custom_stream->writer=writer;
-  blob_info->custom_stream->seeker=seeker;
-  blob_info->custom_stream->teller=teller;
-}
-\f
-/*
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%                                                                             %
-%                                                                             %
-%                                                                             %
 +   S e t B l o b E x e m p t                                                 %
 %                                                                             %
 %                                                                             %
index f4fe4e15c8badb4141504502b6681d732706e25c..61064f495da593d906ec18b8d3b89f4ac42dc6d2 100644 (file)
@@ -18,9 +18,6 @@
 #ifndef MAGICKCORE_BLOB_H
 #define MAGICKCORE_BLOB_H
 
-#include "MagickCore/image.h"
-#include "MagickCore/stream.h"
-
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
@@ -34,8 +31,34 @@ typedef enum
   IOMode
 } MapMode;
 
+typedef ssize_t
+  (*BlobHandler)(const unsigned char *,const size_t,const void *);
+
+typedef size_t
+  (*BlobSeeker)(const MagickOffsetType offset,const int whence,const void *);
+
+typedef MagickOffsetType
+  (*BlobTeller)(const void *);
+
 typedef struct _CustomStreamInfo
-  CustomStreamInfo;
+{
+  BlobHandler
+    reader,
+    writer;
+
+  BlobSeeker
+    seeker;
+
+  BlobTeller
+    teller;
+
+  void
+    *data;
+} CustomStreamInfo;
+
+#include "MagickCore/image.h"
+#include "MagickCore/stream.h"
+
 
 extern MagickExport FILE
   *GetBlobFileHandle(const Image *);
index a7058da6b0ee0537f7fec66d34e5c3cc18c34e33..6e8f6910e8621d291d497fab191abe13a18e02f3 100644 (file)
@@ -2981,36 +2981,24 @@ MagickExport void SetImageInfoBlob(ImageInfo *image_info,const void *blob,
 %  The format of the SetImageInfoCustomStream method is:
 %
 %      void SetImageInfoCustomStream(ImageInfo *image_info,
-%        ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-%        ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-%        size_t (*seeker)(const MagickOffsetType,const int,const void *),
-%        MagickOffsetType (*teller)(const void *))
+%        CustomStreamInfo *custom_stream)
 %
 %  A description of each parameter follows:
 %
 %    o image_info: the image info.
 %
-%    o reader: your custom stream reader.
-%
-%    o writer: your custom stream writer.
-%
-%    o seeker: your custom stream seeker.
-%
-%    o teller: your custom stream teller.
+%    o custom_stream: your custom stream methods.
 %
 */
 MagickExport void SetImageInfoCustomStream(ImageInfo *image_info,
-  ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-  ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-  size_t (*seeker)(const MagickOffsetType,const int,const void *),
-  MagickOffsetType (*teller)(const void *))
+  CustomStreamInfo *custom_stream)
 {
   assert(image_info != (ImageInfo *) NULL);
   assert(image_info->signature == MagickCoreSignature);
   if (image_info->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",
       image_info->filename);
-  SetBlobCustomStream(image_info->blob,reader,writer,seeker,teller);
+  image_info->custom_stream=(void *) custom_stream;
 }
 \f
 /*
@@ -4058,8 +4046,6 @@ MagickExport MagickBooleanType SyncImageSettings(const ImageInfo *image_info,
     into per-image artifacts, while ensuring only specifically set per-image
     artifacts are preserved when parenthesis ends.
   */
-  if (image->image_info != (ImageInfo *) NULL)
-    image->image_info=DestroyImageInfo(image->image_info);
   image->image_info=CloneImageInfo(image_info);
   return(MagickTrue);
 }
index 6cd033f13a5d7eeb0b0cd7d51913ccd41695e522..76e5ad59c561005e1a9f96cf2640dafdf5f8f50b 100644 (file)
@@ -18,9 +18,6 @@
 #ifndef MAGICKCORE_IMAGE_H
 #define MAGICKCORE_IMAGE_H
 
-#include "MagickCore/color.h"
-#include "MagickCore/pixel.h"
-
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
@@ -565,11 +562,7 @@ extern MagickExport void
   GetImageInfo(ImageInfo *),
   SetImageInfoBlob(ImageInfo *,const void *,const size_t),
   SetImageInfoFile(ImageInfo *,FILE *),
-  SetImageInfoCustomStream(ImageInfo *,
-    ssize_t (*reader)(const unsigned char *,const size_t,const void *),
-    ssize_t (*writer)(const unsigned char *,const size_t,const void *),
-    size_t (*seeker)(const MagickOffsetType,const int,const void *),
-    MagickOffsetType (*teller)(const void *));
+  SetImageInfoCustomStream(ImageInfo *,CustomStreamInfo *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }