]> granicus.if.org Git - imagemagick/blobdiff - coders/xtrn.c
(no commit message)
[imagemagick] / coders / xtrn.c
index d264323519c941f0e8a8c89ada5feb93dd6da325..4fbb2b24e0253162475f8f23e2087c24461d53f7 100644 (file)
   Include declarations.
 */
 #if defined(_VISUALC_)
-#include "magick/studio.h"
-#include "magick/blob.h"
-#include "magick/blob-private.h"
-#include "magick/constitute.h"
-#include "magick/delegate.h"
-#include "magick/exception.h"
-#include "magick/exception-private.h"
-#include "magick/image.h"
-#include "magick/image-private.h"
-#include "magick/list.h"
-#include "magick/magick.h"
-#include "magick/memory_.h"
-#include "magick/string_.h"
+#include "MagickCore/studio.h"
+#include "MagickCore/blob.h"
+#include "MagickCore/blob-private.h"
+#include "MagickCore/constitute.h"
+#include "MagickCore/delegate.h"
+#include "MagickCore/exception.h"
+#include "MagickCore/exception-private.h"
+#include "MagickCore/image.h"
+#include "MagickCore/image-private.h"
+#include "MagickCore/list.h"
+#include "MagickCore/MagickCore.h"
+#include "MagickCore/memory_.h"
+#include "MagickCore/string_.h"
 #define WIN32_LEAN_AND_MEAN
 #define VC_EXTRALEAN
 #include <windows.h>
@@ -79,7 +79,7 @@
   Forward declarations.
 */
 static MagickBooleanType
-  WriteXTRNImage(const ImageInfo *,Image *);
+  WriteXTRNImage(const ImageInfo *,Image *,ExceptionInfo *exception);
 \f
 /*
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -204,7 +204,7 @@ static Image *ReadXTRNImage(const ImageInfo *image_info,
       size_t
         blob_length;
 
-                  long
+                  ssize_t
         lBoundl,
         lBoundu;
 
@@ -422,7 +422,8 @@ ModuleExport void UnregisterXTRNImage(void)
 %
 %  The format of the WriteXTRNImage method is:
 %
-%      MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image)
+%      MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,
+%        Image *image,ExceptionInfo *exception)
 %
 %  A description of each parameter follows.
 %
@@ -430,6 +431,7 @@ ModuleExport void UnregisterXTRNImage(void)
 %
 %    o image:  A pointer to a Image structure.
 %
+%    o exception: return any errors or warnings in this structure.
 %
 */
 
@@ -440,7 +442,7 @@ size_t SafeArrayFifo(const Image *image,const void *data,const size_t length)
   SAFEARRAY *pSafeArray = (SAFEARRAY *)image->client_data;
   if (pSafeArray != NULL)
   {
-                long lBoundl, lBoundu, lCount;
+                ssize_t lBoundl, lBoundu, lCount;
           HRESULT hr = S_OK;
     /* First see how big the buffer currently is */
                 hr = SafeArrayGetLBound(pSafeArray, 1, &lBoundl);
@@ -455,7 +457,7 @@ size_t SafeArrayFifo(const Image *image,const void *data,const size_t length)
     {
             unsigned char       *pReturnBuffer = NULL;
       NewArrayBounds[0].lLbound = 0;   /* Start-Index 0 */
-      NewArrayBounds[0].cElements = (unsigned long) (length+lCount);  /* # Elemente */
+      NewArrayBounds[0].cElements = (size_t) (length+lCount);  /* # Elemente */
       hr = SafeArrayRedim(pSafeArray, NewArrayBounds);
       if (FAILED(hr))
         return 0;
@@ -475,7 +477,7 @@ size_t SafeArrayFifo(const Image *image,const void *data,const size_t length)
   return(tlen);
 }
 
-static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image)
+static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image,ExceptionInfo *exception)
 {
   Image *
     p;
@@ -498,7 +500,7 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
   if (LocaleCompare(image_info->magick,"XTRNFILE") == 0)
     {
       clone_info=CloneImageInfo(image_info);
-      status=WriteImage(image_info,image);
+      status=WriteImage(image_info,image,exception);
       if (status == MagickFalse)
         CatchImageException(image);
       clone_info=DestroyImageInfo(clone_info);
@@ -520,7 +522,7 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
           if ((image_info_ptr != (ImageInfo **) NULL) &&
               (image_ptr != (Image **) NULL))
             {
-              *image_ptr=CloneImage(image,0,0,MagickFalse,&(image->exception));
+              *image_ptr=CloneImage(image,0,0,MagickFalse,exception);
               *image_info_ptr=clone_info;
             }
         }
@@ -530,9 +532,6 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
       char
         **blob_data;
 
-      ExceptionInfo
-        exception;
-
       size_t
         *blob_length;
 
@@ -555,14 +554,13 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
             (void) CopyMagickString(p->filename,filename,MaxTextExtent);
             p->scene=scene++;
           }
-          SetImageInfo(clone_info,1,&image->exception);
+          SetImageInfo(clone_info,1,exception);
           (void) CopyMagickString(image->magick,clone_info->magick,
             MaxTextExtent);
-          GetExceptionInfo(&exception);
           if (*blob_length == 0)
             *blob_length=8192;
           *blob_data=(char *) ImageToBlob(clone_info,image,blob_length,
-            &exception);
+            exception);
           if (*blob_data == NULL)
             status=MagickFalse;
           if (status == MagickFalse)
@@ -594,7 +592,7 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
             (void) CopyMagickString(p->filename,filename,MaxTextExtent);
             p->scene=scene++;
           }
-          SetImageInfo(clone_info,1,&image->exception);
+          SetImageInfo(clone_info,1,exception);
           (void) CopyMagickString(image->magick,clone_info->magick,
             MaxTextExtent);
           status=WriteStream(clone_info,image,fifo);
@@ -623,7 +621,7 @@ static MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image
             (void) CopyMagickString(p->filename,filename,MaxTextExtent);
             p->scene=scene++;
           }
-          SetImageInfo(clone_info,1,&image->exception);
+          SetImageInfo(clone_info,1,exception);
           (void) CopyMagickString(image->magick,clone_info->magick,
             MaxTextExtent);
           status=WriteStream(clone_info,image,SafeArrayFifo);