From: cristy Date: Sun, 28 Aug 2011 19:44:34 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~7128 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1e178e70fb3c956f9fc1e30c3ba863e882666465;p=imagemagick --- diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c index 5fd67abe1..d22fbb7ea 100644 --- a/MagickCore/constitute.c +++ b/MagickCore/constitute.c @@ -1135,7 +1135,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, thread_support=GetMagickThreadSupport(magick_info); if ((thread_support & EncoderThreadSupport) == 0) LockSemaphoreInfo(constitute_semaphore); - status=GetImageEncoder(magick_info)(write_info,image); + status=GetImageEncoder(magick_info)(write_info,image,exception); if ((thread_support & EncoderThreadSupport) == 0) UnlockSemaphoreInfo(constitute_semaphore); } @@ -1194,7 +1194,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, thread_support=GetMagickThreadSupport(magick_info); if ((thread_support & EncoderThreadSupport) == 0) LockSemaphoreInfo(constitute_semaphore); - status=GetImageEncoder(magick_info)(write_info,image); + status=GetImageEncoder(magick_info)(write_info,image,exception); if ((thread_support & EncoderThreadSupport) == 0) UnlockSemaphoreInfo(constitute_semaphore); } diff --git a/MagickCore/magick.h b/MagickCore/magick.h index f5aa868f2..6eed97775 100644 --- a/MagickCore/magick.h +++ b/MagickCore/magick.h @@ -40,7 +40,7 @@ typedef Image *DecodeImageHandler(const ImageInfo *,ExceptionInfo *); typedef MagickBooleanType - EncodeImageHandler(const ImageInfo *,Image *); + EncodeImageHandler(const ImageInfo *,Image *,ExceptionInfo *); typedef MagickBooleanType IsImageFormatHandler(const unsigned char *,const size_t); diff --git a/coders/aai.c b/coders/aai.c index 214b17506..caed05ce7 100644 --- a/coders/aai.c +++ b/coders/aai.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteAAIImage(const ImageInfo *,Image *); + WriteAAIImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -307,7 +307,8 @@ ModuleExport void UnregisterAAIImage(void) % % The format of the WriteAAIImage method is: % -% MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteAAIImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -315,8 +316,11 @@ ModuleExport void UnregisterAAIImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -349,7 +353,7 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -374,7 +378,7 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/art.c b/coders/art.c index bb9f8ae68..c0f06215c 100644 --- a/coders/art.c +++ b/coders/art.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteARTImage(const ImageInfo *,Image *); + WriteARTImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -266,7 +266,8 @@ ModuleExport void UnregisterARTImage(void) % % The format of the WriteARTImage method is: % -% MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteARTImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -274,8 +275,11 @@ ModuleExport void UnregisterARTImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -305,7 +309,7 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if ((image->columns > 65535UL) || (image->rows > 65535UL)) @@ -329,11 +333,11 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image) quantum_info=AcquireQuantumInfo(image_info,image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GrayQuantum,pixels,&image->exception); + GrayQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) ThrowWriterException(CorruptImageError,"UnableToWriteImageData"); diff --git a/coders/avs.c b/coders/avs.c index 5f8441b3d..afc8c9a96 100644 --- a/coders/avs.c +++ b/coders/avs.c @@ -64,7 +64,7 @@ Forward declarations. */ static MagickBooleanType - WriteAVSImage(const ImageInfo *,Image *); + WriteAVSImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -304,7 +304,8 @@ ModuleExport void UnregisterAVSImage(void) % % The format of the WriteAVSImage method is: % -% MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteAVSImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -312,8 +313,11 @@ ModuleExport void UnregisterAVSImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -346,7 +350,7 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -371,7 +375,7 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/bgr.c b/coders/bgr.c index 2d1440545..5f6efa766 100644 --- a/coders/bgr.c +++ b/coders/bgr.c @@ -67,7 +67,7 @@ Forward declarations. */ static MagickBooleanType - WriteBGRImage(const ImageInfo *,Image *); + WriteBGRImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1039,7 +1039,7 @@ ModuleExport void UnregisterBGRImage(void) % The format of the WriteBGRImage method is: % % MagickBooleanType WriteBGRImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1047,8 +1047,11 @@ ModuleExport void UnregisterBGRImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -1086,7 +1089,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) /* Open output image file. */ - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); } @@ -1106,7 +1109,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) (void) TransformImageColorspace(image,RGBColorspace); if ((LocaleCompare(image_info->magick,"BGRA") == 0) && (image->matte == MagickFalse)) - (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,&image->exception); + (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); quantum_info=AcquireQuantumInfo(image_info,image); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); @@ -1124,11 +1127,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1152,28 +1155,28 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlueQuantum,pixels,&image->exception); + BlueQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GreenQuantum,pixels,&image->exception); + GreenQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - RedQuantum,pixels,&image->exception); + RedQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; if (quantum_type == BGRAQuantum) { length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1198,11 +1201,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - RedQuantum,pixels,&image->exception); + RedQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1218,11 +1221,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GreenQuantum,pixels,&image->exception); + GreenQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1238,11 +1241,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlueQuantum,pixels,&image->exception); + BlueQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1260,11 +1263,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1294,7 +1297,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) */ AppendImageFormat("B",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1302,11 +1305,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlueQuantum,pixels,&image->exception); + BlueQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1320,7 +1323,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) (void) CloseBlob(image); AppendImageFormat("G",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1328,11 +1331,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GreenQuantum,pixels,&image->exception); + GreenQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1346,7 +1349,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) (void) CloseBlob(image); AppendImageFormat("R",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1354,11 +1357,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - RedQuantum,pixels,&image->exception); + RedQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1375,7 +1378,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) (void) CloseBlob(image); AppendImageFormat("A",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1383,12 +1386,11 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; diff --git a/coders/bmp.c b/coders/bmp.c index bd5bc3a21..7c47cfa0a 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -137,7 +137,7 @@ typedef struct _BMPInfo Forward declarations. */ static MagickBooleanType - WriteBMPImage(const ImageInfo *,Image *); + WriteBMPImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1439,7 +1439,8 @@ ModuleExport void UnregisterBMPImage(void) % % The format of the WriteBMPImage method is: % -% MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteBMPImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1447,8 +1448,11 @@ ModuleExport void UnregisterBMPImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { BMPInfo bmp_info; @@ -1493,7 +1497,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); type=4; @@ -1517,7 +1521,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) bmp_info.offset_bits=bmp_info.file_size; bmp_info.compression=BI_RGB; if ((image->storage_class == PseudoClass) && (image->colors > 256)) - (void) SetImageStorageClass(image,DirectClass,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); if (image->storage_class != DirectClass) { /* @@ -1536,10 +1540,10 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) bmp_info.bits_per_pixel=8; bmp_info.number_colors=1U << bmp_info.bits_per_pixel; if (image->matte != MagickFalse) - (void) SetImageStorageClass(image,DirectClass,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); else if ((size_t) bmp_info.number_colors < image->colors) - (void) SetImageStorageClass(image,DirectClass,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); else { bmp_info.file_size+=3*(1UL << bmp_info.bits_per_pixel); @@ -1641,7 +1645,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) ssize_t offset; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1690,7 +1694,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1734,7 +1738,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1762,7 +1766,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1792,7 +1796,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; diff --git a/coders/braille.c b/coders/braille.c index 7da9adae1..358e62592 100644 --- a/coders/braille.c +++ b/coders/braille.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteBRAILLEImage(const ImageInfo *,Image *); + WriteBRAILLEImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -158,7 +158,7 @@ ModuleExport void UnregisterBRAILLEImage(void) % The format of the WriteBRAILLEImage method is: % % MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -166,9 +166,11 @@ ModuleExport void UnregisterBRAILLEImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char buffer[MaxTextExtent]; @@ -214,7 +216,7 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info, cell_height=3; if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (!iso_11548_1) @@ -259,7 +261,7 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info, if ((y+cell_height) > image->rows) cell_height = (size_t) (image->rows-y); - p=GetVirtualPixels(image,0,y,image->columns,cell_height,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,cell_height,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x+=2) diff --git a/coders/cals.c b/coders/cals.c index 8e88534b0..281b5b154 100644 --- a/coders/cals.c +++ b/coders/cals.c @@ -71,7 +71,7 @@ Forward declarations. */ static MagickBooleanType - WriteCALSImage(const ImageInfo *,Image *); + WriteCALSImage(const ImageInfo *,Image *,ExceptionInfo *); #endif /* @@ -389,7 +389,7 @@ ModuleExport void UnregisterCALSImage(void) % The format of the WriteCALSImage method is: % % MagickBooleanType WriteCALSImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -397,6 +397,8 @@ ModuleExport void UnregisterCALSImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static ssize_t WriteCALSRecord(Image *image,const char *data) @@ -430,7 +432,7 @@ static ssize_t WriteCALSRecord(Image *image,const char *data) } static MagickBooleanType WriteCALSImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char header[129]; @@ -468,7 +470,7 @@ static MagickBooleanType WriteCALSImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -558,14 +560,14 @@ static MagickBooleanType WriteCALSImage(const ImageInfo *image_info, write_info=CloneImageInfo(image_info); (void) CopyMagickString(write_info->filename,"GROUP4:",MaxTextExtent); (void) CopyMagickString(write_info->magick,"GROUP4",MaxTextExtent); - group4_image=CloneImage(image,0,0,MagickTrue,&image->exception); + group4_image=CloneImage(image,0,0,MagickTrue,exception); if (group4_image == (Image *) NULL) { (void) CloseBlob(image); return(MagickFalse); } group4=(unsigned char *) ImageToBlob(write_info,group4_image,&length, - &image->exception); + exception); group4_image=DestroyImage(group4_image); if (group4 == (unsigned char *) NULL) { diff --git a/coders/cin.c b/coders/cin.c index 1f07ed3a0..040cd446f 100644 --- a/coders/cin.c +++ b/coders/cin.c @@ -227,7 +227,7 @@ typedef struct CINInfo Forward declaractions. */ static MagickBooleanType - WriteCINImage(const ImageInfo *,Image *); + WriteCINImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -811,7 +811,8 @@ ModuleExport void UnregisterCINImage(void) % % The format of the WriteCINImage method is: % -% MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteCINImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -819,6 +820,8 @@ ModuleExport void UnregisterCINImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline const char *GetCINProperty(const ImageInfo *image_info, @@ -833,7 +836,8 @@ static inline const char *GetCINProperty(const ImageInfo *image_info, return(GetImageProperty(image,property)); } -static MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { const char *value; @@ -887,7 +891,7 @@ static MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (image->colorspace != LogColorspace) @@ -1148,11 +1152,11 @@ static MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image) } for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; diff --git a/coders/cip.c b/coders/cip.c index 5dcf3a30c..be916cb87 100644 --- a/coders/cip.c +++ b/coders/cip.c @@ -68,7 +68,7 @@ Forward declarations. */ static MagickBooleanType - WriteCIPImage(const ImageInfo *,Image *); + WriteCIPImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -147,7 +147,8 @@ ModuleExport void UnregisterCIPImage(void) % % The format of the WriteCIPImage method is: % -% MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteCIPImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -155,6 +156,8 @@ ModuleExport void UnregisterCIPImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline ssize_t MagickMin(const ssize_t x,const ssize_t y) @@ -164,7 +167,8 @@ static inline ssize_t MagickMin(const ssize_t x,const ssize_t y) return(y); } -static MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char buffer[MaxTextExtent]; @@ -197,7 +201,7 @@ static MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlobString(image,"\n"); @@ -233,7 +237,7 @@ static MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image) (void) TransformImageColorspace(image,RGBColorspace); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < ((ssize_t) image->columns-3); x+=4) diff --git a/coders/clip.c b/coders/clip.c index 294bb340f..f43d9250e 100644 --- a/coders/clip.c +++ b/coders/clip.c @@ -58,7 +58,7 @@ Forward declarations. */ static MagickBooleanType - WriteCLIPImage(const ImageInfo *,Image *); + WriteCLIPImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -137,7 +137,7 @@ ModuleExport void UnregisterCLIPImage(void) % The format of the WriteCLIPImage method is: % % MagickBooleanType WriteCLIPImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -145,9 +145,11 @@ ModuleExport void UnregisterCLIPImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteCLIPImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { Image *clip_image; @@ -162,17 +164,17 @@ static MagickBooleanType WriteCLIPImage(const ImageInfo *image_info, (void) ClipImage(image); if (image->clip_mask == (Image *) NULL) ThrowWriterException(CoderError,"ImageDoesNotHaveAClipMask"); - clip_image=CloneImage(image->clip_mask,0,0,MagickTrue,&image->exception); + clip_image=CloneImage(image->clip_mask,0,0,MagickTrue,exception); if (clip_image == (Image *) NULL) return(MagickFalse); (void) SetImageType(clip_image,TrueColorType); (void) CopyMagickString(clip_image->filename,image->filename,MaxTextExtent); write_info=CloneImageInfo(image_info); - (void) SetImageInfo(write_info,1,&image->exception); + (void) SetImageInfo(write_info,1,exception); if (LocaleCompare(write_info->magick,"CLIP") == 0) (void) FormatLocaleString(clip_image->filename,MaxTextExtent,"miff:%s", write_info->filename); - status=WriteImage(write_info,clip_image,&image->exception); + status=WriteImage(write_info,clip_image,exception); clip_image=DestroyImage(clip_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/clipboard.c b/coders/clipboard.c index 2158455bc..59792ab18 100644 --- a/coders/clipboard.c +++ b/coders/clipboard.c @@ -70,7 +70,7 @@ */ #if defined(MAGICKCORE_WINGDI32_DELEGATE) static MagickBooleanType - WriteCLIPBOARDImage(const ImageInfo *,Image *); + WriteCLIPBOARDImage(const ImageInfo *,Image *,ExceptionInfo *); #endif /* @@ -314,7 +314,7 @@ ModuleExport void UnregisterCLIPBOARDImage(void) % The format of the WriteCLIPBOARDImage method is: % % MagickBooleanType WriteCLIPBOARDImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -322,10 +322,12 @@ ModuleExport void UnregisterCLIPBOARDImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ #if defined(MAGICKCORE_WINGDI32_DELEGATE) static MagickBooleanType WriteCLIPBOARDImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { /* Allocate memory for pixels. @@ -349,4 +351,3 @@ static MagickBooleanType WriteCLIPBOARDImage(const ImageInfo *image_info, return(MagickTrue); } #endif /* MAGICKCORE_WINGDI32_DELEGATE */ - diff --git a/coders/cmyk.c b/coders/cmyk.c index 2d1598593..77eb47e44 100644 --- a/coders/cmyk.c +++ b/coders/cmyk.c @@ -66,7 +66,7 @@ Forward declarations. */ static MagickBooleanType - WriteCMYKImage(const ImageInfo *,Image *); + WriteCMYKImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1158,7 +1158,7 @@ ModuleExport void UnregisterCMYKImage(void) % The format of the WriteCMYKImage method is: % % MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1166,9 +1166,11 @@ ModuleExport void UnregisterCMYKImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { MagickBooleanType status; @@ -1182,13 +1184,13 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, QuantumType quantum_type; + size_t + length; + ssize_t count, y; - size_t - length; - unsigned char *pixels; @@ -1206,7 +1208,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, /* Open output image file. */ - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); } @@ -1226,7 +1228,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, (void) TransformImageColorspace(image,CMYKColorspace); if ((LocaleCompare(image_info->magick,"CMYKA") == 0) && (image->matte == MagickFalse)) - (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,&image->exception); + (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); quantum_info=AcquireQuantumInfo(image_info,image); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); @@ -1244,11 +1246,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1272,33 +1274,33 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - CyanQuantum,pixels,&image->exception); + CyanQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - MagentaQuantum,pixels,&image->exception); + MagentaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - YellowQuantum,pixels,&image->exception); + YellowQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlackQuantum,pixels,&image->exception); + BlackQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; if (quantum_type == CMYKAQuantum) { length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1323,11 +1325,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - CyanQuantum,pixels,&image->exception); + CyanQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1343,11 +1345,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - MagentaQuantum,pixels,&image->exception); + MagentaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1363,11 +1365,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - YellowQuantum,pixels,&image->exception); + YellowQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1383,11 +1385,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlackQuantum,pixels,&image->exception); + BlackQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1405,11 +1407,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1439,7 +1441,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, */ AppendImageFormat("C",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1447,11 +1449,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - CyanQuantum,pixels,&image->exception); + CyanQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1465,7 +1467,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, (void) CloseBlob(image); AppendImageFormat("M",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1473,11 +1475,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - MagentaQuantum,pixels,&image->exception); + MagentaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1491,7 +1493,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, (void) CloseBlob(image); AppendImageFormat("Y",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1499,11 +1501,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - YellowQuantum,pixels,&image->exception); + YellowQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1517,7 +1519,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, (void) CloseBlob(image); AppendImageFormat("K",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1525,11 +1527,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlackQuantum,pixels,&image->exception); + BlackQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; @@ -1545,7 +1547,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, (void) CloseBlob(image); AppendImageFormat("A",image->filename); status=OpenBlob(image_info,image,scene == 0 ? WriteBinaryBlobMode : - AppendBinaryBlobMode,&image->exception); + AppendBinaryBlobMode,exception); if (status == MagickFalse) return(status); for (y=0; y < (ssize_t) image->rows; y++) @@ -1553,12 +1555,11 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - AlphaQuantum,pixels,&image->exception); + AlphaQuantum,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; diff --git a/coders/debug.c b/coders/debug.c index 1fb675346..b287e6caa 100644 --- a/coders/debug.c +++ b/coders/debug.c @@ -72,7 +72,7 @@ Forward declarations. */ static MagickBooleanType - WriteDEBUGImage(const ImageInfo *,Image *); + WriteDEBUGImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -152,7 +152,7 @@ ModuleExport void UnregisterDEBUGImage(void) % The format of the WriteDEBUGImage method is: % % MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -160,9 +160,11 @@ ModuleExport void UnregisterDEBUGImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char buffer[MaxTextExtent], @@ -196,7 +198,7 @@ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -216,7 +218,7 @@ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, GetPixelInfo(image,&pixel); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/dib.c b/coders/dib.c index 658a7acb8..e4e1f0492 100644 --- a/coders/dib.c +++ b/coders/dib.c @@ -111,7 +111,7 @@ typedef struct _DIBInfo Forward declarations. */ static MagickBooleanType - WriteDIBImage(const ImageInfo *,Image *); + WriteDIBImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -952,7 +952,8 @@ ModuleExport void UnregisterDIBImage(void) % % The format of the WriteDIBImage method is: % -% MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteDIBImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -960,8 +961,11 @@ ModuleExport void UnregisterDIBImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { DIBInfo dib_info; @@ -998,7 +1002,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -1022,7 +1026,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) dib_info.bits_per_pixel=8; if (image_info->depth > 8) dib_info.bits_per_pixel=16; - if (IsImageMonochrome(image,&image->exception) != MagickFalse) + if (IsImageMonochrome(image,exception) != MagickFalse) dib_info.bits_per_pixel=1; dib_info.number_colors=(dib_info.bits_per_pixel == 16) ? 0 : (1UL << dib_info.bits_per_pixel); @@ -1075,7 +1079,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1115,7 +1119,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1142,7 +1146,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; @@ -1174,7 +1178,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(image->rows-y-1)*bytes_per_line; diff --git a/coders/dpx.c b/coders/dpx.c index a4155c0d3..e2c0237e4 100644 --- a/coders/dpx.c +++ b/coders/dpx.c @@ -306,7 +306,7 @@ typedef struct DPXInfo Forward declaractions. */ static MagickBooleanType - WriteDPXImage(const ImageInfo *,Image *); + WriteDPXImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1221,7 +1221,8 @@ ModuleExport void UnregisterDPXImage(void) % % The format of the WriteDPXImage method is: % -% MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteDPXImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1229,6 +1230,8 @@ ModuleExport void UnregisterDPXImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline const char *GetDPXProperty(const ImageInfo *image_info, @@ -1272,7 +1275,8 @@ static unsigned int StringToTimeCode(const char *key) return(value); } -static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { const char *value; @@ -1307,15 +1311,15 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) register ssize_t i; + size_t + extent; + ssize_t count, horizontal_factor, vertical_factor, y; - size_t - extent; - time_t seconds; @@ -1355,7 +1359,7 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) ((horizontal_factor == 2) || (vertical_factor == 2))) if ((image->columns % 2) != 0) image->columns++; - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -1469,7 +1473,7 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) dpx.image.image_element[i].descriptor=RGBAComponentType; if ((image_info->type != TrueColorType) && (image->matte == MagickFalse) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) dpx.image.image_element[i].descriptor=LumaComponentType; break; } @@ -1773,7 +1777,7 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) count=WriteBlobByte(image,0x00); if (count != 1) { - ThrowFileException(&image->exception,FileOpenError,"UnableToWriteFile", + ThrowFileException(exception,FileOpenError,"UnableToWriteFile", image->filename); break; } @@ -1801,7 +1805,7 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) image->depth,MagickTrue); if ((image_info->type != UndefinedType) && (image_info->type != TrueColorType) && (image->matte == MagickFalse) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) { quantum_type=GrayQuantum; extent=GetBytesPerRow(image->columns,1UL,image->depth,MagickTrue); @@ -1809,11 +1813,11 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image) pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); count=WriteBlob(image,extent,pixels); if (count != (ssize_t) extent) break; diff --git a/coders/ept.c b/coders/ept.c index 964bfa30e..2d99c4eec 100644 --- a/coders/ept.c +++ b/coders/ept.c @@ -91,7 +91,7 @@ typedef struct _EPTInfo Forward declarations. */ static MagickBooleanType - WriteEPTImage(const ImageInfo *,Image *); + WriteEPTImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -350,7 +350,8 @@ ModuleExport void UnregisterEPTImage(void) % % The format of the WriteEPTImage method is: % -% MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteEPTImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -358,8 +359,11 @@ ModuleExport void UnregisterEPTImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char filename[MaxTextExtent]; @@ -385,10 +389,10 @@ static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); - write_image=CloneImage(image,0,0,MagickTrue,&image->exception); + write_image=CloneImage(image,0,0,MagickTrue,exception); if (write_image == (Image *) NULL) return(MagickFalse); write_info=CloneImageInfo(image_info); @@ -400,12 +404,12 @@ static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image) (void) ResetMagickMemory(&ept_info,0,sizeof(ept_info)); ept_info.magick=0xc6d3d0c5ul; ept_info.postscript=(unsigned char *) ImageToBlob(write_info,write_image, - &ept_info.postscript_length,&image->exception); + &ept_info.postscript_length,exception); write_image=DestroyImage(write_image); write_info=DestroyImageInfo(write_info); if (ept_info.postscript == (void *) NULL) return(MagickFalse); - write_image=CloneImage(image,0,0,MagickTrue,&image->exception); + write_image=CloneImage(image,0,0,MagickTrue,exception); if (write_image == (Image *) NULL) return(MagickFalse); write_info=CloneImageInfo(image_info); @@ -424,13 +428,13 @@ static MagickBooleanType WriteEPTImage(const ImageInfo *image_info,Image *image) EPT preview requires that the image is colormapped. */ GetQuantizeInfo(&quantize_info); - quantize_info.dither=IsPaletteImage(write_image,&image->exception) == - MagickFalse ? MagickTrue : MagickFalse; + quantize_info.dither=IsPaletteImage(write_image,exception) == MagickFalse + ? MagickTrue : MagickFalse; (void) QuantizeImage(&quantize_info,write_image); } write_info->compression=NoCompression; ept_info.tiff=(unsigned char *) ImageToBlob(write_info,write_image, - &ept_info.tiff_length,&image->exception); + &ept_info.tiff_length,exception); write_image=DestroyImage(write_image); write_info=DestroyImageInfo(write_info); if (ept_info.tiff == (void *) NULL) diff --git a/coders/exr.c b/coders/exr.c index 7cd528c48..b41c039b5 100644 --- a/coders/exr.c +++ b/coders/exr.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteEXRImage(const ImageInfo *,Image *); + WriteEXRImage(const ImageInfo *,Image *,ExceptionInfo *); #endif /* @@ -331,7 +331,8 @@ ModuleExport void UnregisterEXRImage(void) % % The format of the WriteEXRImage method is: % -% MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteEXRImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -339,8 +340,11 @@ ModuleExport void UnregisterEXRImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { ImageInfo *write_info; @@ -381,7 +385,7 @@ static MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); write_info=CloneImageInfo(image_info); @@ -414,7 +418,7 @@ static MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image) ImfDeleteHeader(hdr_info); if (file == (ImfOutputFile *) NULL) { - ThrowFileException(&image->exception,BlobError,"UnableToOpenBlob", + ThrowFileException(exception,BlobError,"UnableToOpenBlob", ImfErrorMessage()); write_info=DestroyImageInfo(write_info); return(MagickFalse); @@ -427,7 +431,7 @@ static MagickBooleanType WriteEXRImage(const ImageInfo *image_info,Image *image) } for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/fax.c b/coders/fax.c index 449042024..8b89bb5c7 100644 --- a/coders/fax.c +++ b/coders/fax.c @@ -64,7 +64,7 @@ Forward declarations. */ static MagickBooleanType - WriteFAXImage(const ImageInfo *,Image *); + WriteFAXImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -284,7 +284,8 @@ ModuleExport void UnregisterFAXImage(void) % % The format of the WriteFAXImage method is: % -% MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteFAXImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -292,8 +293,11 @@ ModuleExport void UnregisterFAXImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { ImageInfo *write_info; @@ -313,7 +317,7 @@ static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); write_info=CloneImageInfo(image_info); diff --git a/coders/fits.c b/coders/fits.c index 9058fc6a8..3a0df6a09 100644 --- a/coders/fits.c +++ b/coders/fits.c @@ -76,7 +76,7 @@ Forward declarations. */ static MagickBooleanType - WriteFITSImage(const ImageInfo *,Image *); + WriteFITSImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -585,7 +585,7 @@ ModuleExport void UnregisterFITSImage(void) % The format of the WriteFITSImage method is: % % MagickBooleanType WriteFITSImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -593,9 +593,11 @@ ModuleExport void UnregisterFITSImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char header[FITSBlocksize], @@ -630,7 +632,7 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -660,7 +662,7 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, (void) strncpy(fits_info+offset,header,strlen(header)); offset+=80; (void) FormatLocaleString(header,FITSBlocksize,"NAXIS = %10lu", - IsImageGray(image,&image->exception) != MagickFalse ? 2UL : 3UL); + IsImageGray(image,exception) != MagickFalse ? 2UL : 3UL); (void) strncpy(fits_info+offset,header,strlen(header)); offset+=80; (void) FormatLocaleString(header,FITSBlocksize,"NAXIS1 = %10lu", @@ -671,7 +673,7 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, (unsigned long) image->rows); (void) strncpy(fits_info+offset,header,strlen(header)); offset+=80; - if (IsImageGray(image,&image->exception) == MagickFalse) + if (IsImageGray(image,exception) == MagickFalse) { (void) FormatLocaleString(header,FITSBlocksize, "NAXIS3 = %10lu",3UL); @@ -710,16 +712,16 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, Convert image to fits scale PseudoColor class. */ pixels=GetQuantumPixels(quantum_info); - if (IsImageGray(image,&image->exception) != MagickFalse) + if (IsImageGray(image,exception) != MagickFalse) { length=GetQuantumExtent(image,quantum_info,GrayQuantum); for (y=(ssize_t) image->rows-1; y >= 0; y--) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GrayQuantum,pixels,&image->exception); + GrayQuantum,pixels,exception); if (image->depth == 16) SetFITSUnsignedPixels(image->columns,image->depth,pixels); if (((image->depth == 32) || (image->depth == 64)) && @@ -739,11 +741,11 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, length=GetQuantumExtent(image,quantum_info,RedQuantum); for (y=(ssize_t) image->rows-1; y >= 0; y--) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - RedQuantum,pixels,&image->exception); + RedQuantum,pixels,exception); if (image->depth == 16) SetFITSUnsignedPixels(image->columns,image->depth,pixels); if (((image->depth == 32) || (image->depth == 64)) && @@ -760,11 +762,11 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, length=GetQuantumExtent(image,quantum_info,GreenQuantum); for (y=(ssize_t) image->rows-1; y >= 0; y--) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GreenQuantum,pixels,&image->exception); + GreenQuantum,pixels,exception); if (image->depth == 16) SetFITSUnsignedPixels(image->columns,image->depth,pixels); if (((image->depth == 32) || (image->depth == 64)) && @@ -781,11 +783,11 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, length=GetQuantumExtent(image,quantum_info,BlueQuantum); for (y=(ssize_t) image->rows-1; y >= 0; y--) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - BlueQuantum,pixels,&image->exception); + BlueQuantum,pixels,exception); if (image->depth == 16) SetFITSUnsignedPixels(image->columns,image->depth,pixels); if (((image->depth == 32) || (image->depth == 64)) && diff --git a/coders/fpx.c b/coders/fpx.c index 144c9f645..a91dac272 100644 --- a/coders/fpx.c +++ b/coders/fpx.c @@ -80,7 +80,7 @@ Forward declarations. */ static MagickBooleanType - WriteFPXImage(const ImageInfo *,Image *); + WriteFPXImage(const ImageInfo *,Image *,ExceptionInfo *); #endif /* @@ -578,7 +578,8 @@ ModuleExport void UnregisterFPXImage(void) % % The format of the WriteFPXImage method is: % -% MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteFPXImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -586,6 +587,8 @@ ModuleExport void UnregisterFPXImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static void ColorTwistMultiply(FPXColorTwistMatrix first, @@ -769,7 +772,8 @@ static void SetSaturation(double saturation,FPXColorTwistMatrix *color_twist) *color_twist=result; } -static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { FPXBackground background_color; @@ -843,7 +847,7 @@ static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) CloseBlob(image); @@ -863,7 +867,7 @@ static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image) if (image->matte != MagickFalse) colorspace.numberOfComponents=4; if ((image_info->type != TrueColorType) && - IsImageGray(image,&image->exception)) + (IsImageGray(image,exception) != MagickFalse)) { colorspace.numberOfComponents=1; colorspace.theComponents[0].myColor=MONOCHROME; @@ -989,11 +993,11 @@ static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image) quantum_type=GrayQuantum; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); fpx_status=FPX_WriteImageLine(flashpix,&fpx_info); if (fpx_status != FPX_OK) break; diff --git a/coders/gif.c b/coders/gif.c index def359986..2f758f344 100644 --- a/coders/gif.c +++ b/coders/gif.c @@ -134,7 +134,7 @@ static inline int GetNextLZWCode(LZWInfo *,const size_t); static MagickBooleanType - WriteGIFImage(const ImageInfo *,Image *); + WriteGIFImage(const ImageInfo *,Image *,ExceptionInfo *); static ssize_t ReadBlobBlock(Image *,unsigned char *); @@ -1433,7 +1433,8 @@ ModuleExport void UnregisterGIFImage(void) % % The format of the WriteGIFImage method is: % -% MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteGIFImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1441,8 +1442,11 @@ ModuleExport void UnregisterGIFImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { Image *next_image; @@ -1494,7 +1498,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -1557,7 +1561,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image) if (IsRGBColorspace(image->colorspace) == MagickFalse) (void) TransformImageColorspace(image,RGBColorspace); opacity=(-1); - if (IsImageOpaque(image,&image->exception) != MagickFalse) + if (IsImageOpaque(image,exception) != MagickFalse) { if ((image->storage_class == DirectClass) || (image->colors > 256)) (void) SetImageType(image,PaletteType); diff --git a/coders/gray.c b/coders/gray.c index c9d6e5e0e..24ccac52c 100644 --- a/coders/gray.c +++ b/coders/gray.c @@ -67,7 +67,7 @@ Forward declarations. */ static MagickBooleanType - WriteGRAYImage(const ImageInfo *,Image *); + WriteGRAYImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -356,7 +356,7 @@ ModuleExport void UnregisterGRAYImage(void) % The format of the WriteGRAYImage method is: % % MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -364,9 +364,11 @@ ModuleExport void UnregisterGRAYImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { MagickBooleanType status; @@ -399,7 +401,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -420,11 +422,11 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; length=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); count=WriteBlob(image,length,pixels); if (count != (ssize_t) length) break; diff --git a/coders/hdr.c b/coders/hdr.c index 9647afaed..515a70bbb 100644 --- a/coders/hdr.c +++ b/coders/hdr.c @@ -66,7 +66,7 @@ Forward declarations. */ static MagickBooleanType - WriteHDRImage(const ImageInfo *,Image *); + WriteHDRImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -568,7 +568,7 @@ ModuleExport void UnregisterHDRImage(void) % The format of the WriteHDRImage method is: % % MagickBooleanType WriteHDRImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -642,7 +642,8 @@ static size_t HDRWriteRunlengthPixels(Image *image,unsigned char *pixels) return(p); } -static MagickBooleanType WriteHDRImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteHDRImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char header[MaxTextExtent]; @@ -680,7 +681,7 @@ static MagickBooleanType WriteHDRImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -731,7 +732,7 @@ static MagickBooleanType WriteHDRImage(const ImageInfo *image_info,Image *image) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; if ((image->columns >= 8) && (image->columns <= 0x7ffff)) diff --git a/coders/histogram.c b/coders/histogram.c index 4d2763592..f20d39014 100644 --- a/coders/histogram.c +++ b/coders/histogram.c @@ -70,7 +70,7 @@ Forward declarations. */ static MagickBooleanType - WriteHISTOGRAMImage(const ImageInfo *,Image *); + WriteHISTOGRAMImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -158,7 +158,7 @@ ModuleExport void UnregisterHISTOGRAMImage(void) % The format of the WriteHISTOGRAMImage method is: % % MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -166,6 +166,8 @@ ModuleExport void UnregisterHISTOGRAMImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline size_t MagickMax(const size_t x,const size_t y) @@ -176,7 +178,7 @@ static inline size_t MagickMax(const size_t x,const size_t y) } static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { #define HistogramDensity "256x200" @@ -186,9 +188,6 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, const char *option; - ExceptionInfo - *exception; - Image *histogram_image; @@ -240,10 +239,10 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, else (void) ParseAbsoluteGeometry(image_info->density,&geometry); histogram_image=CloneImage(image,geometry.width,geometry.height,MagickTrue, - &image->exception); + exception); if (histogram_image == (Image *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); - (void) SetImageStorageClass(histogram_image,DirectClass,&image->exception); + (void) SetImageStorageClass(histogram_image,DirectClass,exception); /* Allocate histogram count arrays. */ @@ -262,7 +261,7 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, (void) ResetMagickMemory(histogram,0,length*sizeof(*histogram)); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -293,9 +292,8 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, /* Initialize histogram image. */ - exception=(&image->exception); (void) QueryColorDatabase("#000000",&histogram_image->background_color, - &image->exception); + exception); (void) SetImageBackgroundColor(histogram_image); for (x=0; x < (ssize_t) histogram_image->columns; x++) { @@ -363,9 +361,9 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, char *property; - (void) GetNumberColors(image,file,&image->exception); + (void) GetNumberColors(image,file,exception); (void) fclose(file); - property=FileToString(filename,~0UL,&image->exception); + property=FileToString(filename,~0UL,exception); if (property != (char *) NULL) { (void) SetImageProperty(histogram_image,"comment",property); @@ -380,11 +378,11 @@ static MagickBooleanType WriteHISTOGRAMImage(const ImageInfo *image_info, (void) CopyMagickString(histogram_image->filename,image_info->filename, MaxTextExtent); write_info=CloneImageInfo(image_info); - (void) SetImageInfo(write_info,1,&image->exception); + (void) SetImageInfo(write_info,1,exception); if (LocaleCompare(write_info->magick,"HISTOGRAM") == 0) (void) FormatLocaleString(histogram_image->filename,MaxTextExtent, "miff:%s",write_info->filename); - status=WriteImage(write_info,histogram_image,&image->exception); + status=WriteImage(write_info,histogram_image,exception); histogram_image=DestroyImage(histogram_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/hrz.c b/coders/hrz.c index 92dc67429..91b2f67d9 100644 --- a/coders/hrz.c +++ b/coders/hrz.c @@ -64,7 +64,7 @@ Forward declarations. */ static MagickBooleanType - WriteHRZImage(const ImageInfo *,Image *); + WriteHRZImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -253,7 +253,8 @@ ModuleExport void UnregisterHRZImage(void) % % The format of the WriteHRZImage method is: % -% MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteHRZImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -261,8 +262,11 @@ ModuleExport void UnregisterHRZImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { Image *hrz_image; @@ -295,11 +299,10 @@ static MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); - hrz_image=ResizeImage(image,256,240,image->filter,image->blur, - &image->exception); + hrz_image=ResizeImage(image,256,240,image->filter,image->blur,exception); if (hrz_image == (Image *) NULL) return(MagickFalse); if (IsRGBColorspace(hrz_image->colorspace) == MagickFalse) @@ -319,7 +322,7 @@ static MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) hrz_image->rows; y++) { - p=GetVirtualPixels(hrz_image,0,y,hrz_image->columns,1,&image->exception); + p=GetVirtualPixels(hrz_image,0,y,hrz_image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/html.c b/coders/html.c index 71114675c..6bcb45be8 100644 --- a/coders/html.c +++ b/coders/html.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteHTMLImage(const ImageInfo *,Image *); + WriteHTMLImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -197,7 +197,8 @@ ModuleExport void UnregisterHTMLImage(void) % % The format of the WriteHTMLImage method is: % -% MagickBooleanType WriteHTMLImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -205,10 +206,11 @@ ModuleExport void UnregisterHTMLImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char basename[MaxTextExtent], @@ -242,7 +244,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s", image_info->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) CloseBlob(image); @@ -287,7 +289,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, /* Open output image file. */ - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -384,7 +386,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, next=GetNextImageInList(image); image->next=NewImageList(); (void) CopyMagickString(image->magick,"PNG",MaxTextExtent); - (void) WriteImage(write_info,image,&image->exception); + (void) WriteImage(write_info,image,exception); image->next=next; /* Determine image map filename. @@ -396,7 +398,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info, /* Open image map. */ - status=OpenBlob(write_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(write_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); write_info=DestroyImageInfo(write_info); diff --git a/coders/icon.c b/coders/icon.c index 6a18c0fcf..0c1efe909 100644 --- a/coders/icon.c +++ b/coders/icon.c @@ -140,7 +140,7 @@ typedef struct _IconInfo Forward declaractions. */ static MagickBooleanType - WriteICONImage(const ImageInfo *,Image *); + WriteICONImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -751,7 +751,7 @@ ModuleExport void UnregisterICONImage(void) % The format of the WriteICONImage method is: % % MagickBooleanType WriteICONImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -759,9 +759,11 @@ ModuleExport void UnregisterICONImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { IconFile icon_file; @@ -809,7 +811,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, assert(image != (Image *) NULL); assert(image->signature == MagickSignature); (void) LogMagickEvent(CoderEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -867,13 +869,13 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, /* Icon image encoded as a compressed PNG image. */ - write_image=CloneImage(next,0,0,MagickTrue,&image->exception); + write_image=CloneImage(next,0,0,MagickTrue,exception); if (write_image == (Image *) NULL) return(MagickFalse); write_info=CloneImageInfo(image_info); (void) CopyMagickString(write_info->filename,"PNG:",MaxTextExtent); png=(unsigned char *) ImageToBlob(write_info,write_image,&length, - &image->exception); + exception); write_image=DestroyImage(write_image); write_info=DestroyImageInfo(write_info); if (png == (unsigned char *) NULL) @@ -900,7 +902,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, icon_info.offset_bits=icon_info.file_size; icon_info.compression=BI_RGB; if ((next->storage_class != DirectClass) && (next->colors > 256)) - (void) SetImageStorageClass(next,DirectClass,&next->exception); + (void) SetImageStorageClass(next,DirectClass,exception); if (next->storage_class == DirectClass) { /* @@ -929,7 +931,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, icon_info.number_colors=one << icon_info.bits_per_pixel; if (icon_info.number_colors < next->colors) { - (void) SetImageStorageClass(next,DirectClass,&next->exception); + (void) SetImageStorageClass(next,DirectClass,exception); icon_info.number_colors=0; icon_info.bits_per_pixel=(unsigned short) 24; icon_info.compression=(size_t) BI_RGB; @@ -998,7 +1000,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, */ for (y=0; y < (ssize_t) next->rows; y++) { - p=GetVirtualPixels(next,0,y,next->columns,1,&next->exception); + p=GetVirtualPixels(next,0,y,next->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(next->rows-y-1)*bytes_per_line; @@ -1039,7 +1041,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, */ for (y=0; y < (ssize_t) next->rows; y++) { - p=GetVirtualPixels(next,0,y,next->columns,1,&next->exception); + p=GetVirtualPixels(next,0,y,next->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(next->rows-y-1)*bytes_per_line; @@ -1076,7 +1078,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, */ for (y=0; y < (ssize_t) next->rows; y++) { - p=GetVirtualPixels(next,0,y,next->columns,1,&next->exception); + p=GetVirtualPixels(next,0,y,next->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(next->rows-y-1)*bytes_per_line; @@ -1102,7 +1104,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, */ for (y=0; y < (ssize_t) next->rows; y++) { - p=GetVirtualPixels(next,0,y,next->columns,1,&next->exception); + p=GetVirtualPixels(next,0,y,next->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels+(next->rows-y-1)*bytes_per_line; @@ -1193,7 +1195,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, scanline_pad=(((next->columns+31) & ~31)-next->columns) >> 3; for (y=((ssize_t) next->rows - 1); y >= 0; y--) { - p=GetVirtualPixels(next,0,y,next->columns,1,&next->exception); + p=GetVirtualPixels(next,0,y,next->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; diff --git a/coders/info.c b/coders/info.c index 7d6636b4c..f750cea29 100644 --- a/coders/info.c +++ b/coders/info.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteINFOImage(const ImageInfo *,Image *); + WriteINFOImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -144,7 +144,7 @@ ModuleExport void UnregisterINFOImage(void) % The format of the WriteINFOImage method is: % % MagickBooleanType WriteINFOImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -152,9 +152,11 @@ ModuleExport void UnregisterINFOImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { const char *format; @@ -174,7 +176,7 @@ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -188,7 +190,7 @@ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, image->magick_columns=image->columns; image->magick_rows=image->rows; (void) IdentifyImage(image,GetBlobFileHandle(image), - image_info->verbose,&image->exception); + image_info->verbose,exception); } else { diff --git a/coders/ipl.c b/coders/ipl.c index 558218682..bf69945cd 100644 --- a/coders/ipl.c +++ b/coders/ipl.c @@ -82,7 +82,7 @@ typedef struct _IPLInfo } IPLInfo; static MagickBooleanType - WriteIPLImage(const ImageInfo *,Image *); + WriteIPLImage(const ImageInfo *,Image *,ExceptionInfo *); void increase (void *pixel, int byteType){ switch(byteType){ @@ -471,35 +471,35 @@ ModuleExport void UnregisterIPLImage(void) } /* - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % % - % % - % W r i t e I P L I m a g e % - % % - % % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % - % WriteIPLImage() writes an image to a file in Scanalytics IPLabimage format. - % - % The format of the WriteIPLImage method is: - % - % MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) - % - % A description of each parameter follows. - % - % o image_info: The image info. - % - % o image: The image. - % - */ - -static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% % +% % +% W r i t e I P L I m a g e % +% % +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% WriteIPLImage() writes an image to a file in Scanalytics IPLabimage format. +% +% The format of the WriteIPLImage method is: +% +% MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) +% Image *image,ExceptionInfo *exception) +% +% A description of each parameter follows. +% +% o image_info: The image info. +% +% o image: The image. +% +% o exception: return any errors or warnings in this structure. +% +*/ +static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { - ExceptionInfo - *exception; - IPLInfo ipl_info; @@ -530,7 +530,7 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -538,7 +538,7 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) quantum_info=AcquireQuantumInfo(image_info, image); if ((quantum_info->format == UndefinedQuantumFormat) && - (IsHighDynamicRangeImage(image,&image->exception) != MagickFalse)) + (IsHighDynamicRangeImage(image,exception) != MagickFalse)) SetQuantumFormat(image,quantum_info,FloatingPointQuantumFormat); switch(quantum_info->depth){ case 8: @@ -612,7 +612,6 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) (void) WriteBlobLong(image, ipl_info.time); (void) WriteBlobLong(image, ipl_info.byteType); - exception=(&image->exception); do { /* @@ -626,7 +625,7 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL, quantum_info, - GrayQuantum, pixels,&image->exception); + GrayQuantum, pixels,exception); (void) WriteBlob(image, image->columns*image->depth/8, pixels); } @@ -638,26 +637,26 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image) if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL, quantum_info, - RedQuantum, pixels,&image->exception); + RedQuantum, pixels,exception); (void) WriteBlob(image, image->columns*image->depth/8, pixels); } /* Green frame */ for(y = 0; y < (ssize_t) ipl_info.height; y++){ - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL, quantum_info, - GreenQuantum, pixels,&image->exception); + GreenQuantum, pixels,exception); (void) WriteBlob(image, image->columns*image->depth/8, pixels); } /* Blue frame */ for(y = 0; y < (ssize_t) ipl_info.height; y++){ - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL, quantum_info, - BlueQuantum, pixels,&image->exception); + BlueQuantum, pixels,exception); (void) WriteBlob(image, image->columns*image->depth/8, pixels); if (image->previous == (Image *) NULL) { diff --git a/coders/jbig.c b/coders/jbig.c index bdd442295..3661af76f 100644 --- a/coders/jbig.c +++ b/coders/jbig.c @@ -73,7 +73,7 @@ */ #if defined(MAGICKCORE_JBIG_DELEGATE) static MagickBooleanType - WriteJBIGImage(const ImageInfo *,Image *); + WriteJBIGImage(const ImageInfo *,Image *,ExceptionInfo *); #endif #if defined(MAGICKCORE_JBIG_DELEGATE) @@ -367,7 +367,8 @@ ModuleExport void UnregisterJBIGImage(void) % % The format of the WriteJBIGImage method is: % -% MagickBooleanType WriteJBIGImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -375,6 +376,7 @@ ModuleExport void UnregisterJBIGImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ @@ -388,7 +390,7 @@ static void JBIGEncode(unsigned char *pixels,size_t length,void *data) } static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { double version; @@ -431,7 +433,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); version=InterpretLocaleValue(JBG_VERSION,(char **) NULL); @@ -455,7 +457,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; diff --git a/coders/jp2.c b/coders/jp2.c index c8667dc1a..cdecc6211 100644 --- a/coders/jp2.c +++ b/coders/jp2.c @@ -105,7 +105,7 @@ */ #if defined(MAGICKCORE_JP2_DELEGATE) static MagickBooleanType - WriteJP2Image(const ImageInfo *,Image *); + WriteJP2Image(const ImageInfo *,Image *,ExceptionInfo *); static volatile MagickBooleanType instantiate_jp2 = MagickFalse; @@ -784,7 +784,8 @@ ModuleExport void UnregisterJP2Image(void) % % The format of the WriteJP2Image method is: % -% MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteJP2Image(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -792,8 +793,11 @@ ModuleExport void UnregisterJP2Image(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char *key, @@ -844,7 +848,7 @@ static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -857,7 +861,7 @@ static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image) ThrowWriterException(DelegateError,"UnableToManageJP2Stream"); number_components=image->matte ? 4UL : 3UL; if ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) number_components=1; if ((image->columns != (unsigned int) image->columns) || (image->rows != (unsigned int) image->rows)) @@ -919,7 +923,7 @@ static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image) range=GetQuantumRange((size_t) component_info[0].prec); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/jpeg.c b/coders/jpeg.c index f8782da7e..a3bac3036 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -149,7 +149,7 @@ typedef struct _SourceManager */ #if defined(MAGICKCORE_JPEG_DELEGATE) static MagickBooleanType - WriteJPEGImage(const ImageInfo *,Image *); + WriteJPEGImage(const ImageInfo *,Image *,ExceptionInfo *); #endif /* @@ -1477,7 +1477,7 @@ ModuleExport void UnregisterJPEGImage(void) % The format of the WriteJPEGImage method is: % % MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -1485,6 +1485,7 @@ ModuleExport void UnregisterJPEGImage(void) % % o jpeg_image: The image. % +% o exception: return any errors or warnings in this structure. % */ @@ -1721,7 +1722,7 @@ static char **SamplingFactorToList(const char *text) } static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { const char *option, @@ -1764,7 +1765,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -1827,7 +1828,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, } } if ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) { jpeg_info.input_components=1; jpeg_info.in_color_space=JCS_GRAYSCALE; @@ -1939,7 +1940,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, *jpeg_info; jpeg_info=CloneImageInfo(image_info); - jpeg_image=CloneImage(image,0,0,MagickTrue,&image->exception); + jpeg_image=CloneImage(image,0,0,MagickTrue,exception); if (jpeg_image != (Image *) NULL) { MagickSizeType @@ -1960,7 +1961,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, for (minimum=0; minimum != maximum; ) { jpeg_image->quality=minimum+(maximum-minimum)/2; - status=WriteJPEGImage(jpeg_info,jpeg_image); + status=WriteJPEGImage(jpeg_info,jpeg_image,exception); if (GetBlobSize(jpeg_image) <= extent) minimum=jpeg_image->quality+1; else @@ -1991,8 +1992,8 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, (void) LogMagickEvent(CoderEvent,GetMagickModule(),"Quality: 100"); #else if (image->quality < 100) - (void) ThrowMagickException(&image->exception,GetMagickModule(), - CoderWarning,"LosslessToLossyJPEGConversion",image->filename); + (void) ThrowMagickException(exception,GetMagickModule(),CoderWarning, + "LosslessToLossyJPEGConversion",image->filename); else { int @@ -2232,7 +2233,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; @@ -2259,7 +2260,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; @@ -2283,7 +2284,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; @@ -2319,7 +2320,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; @@ -2346,7 +2347,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; @@ -2372,7 +2373,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=jpeg_pixels; diff --git a/coders/magick.c b/coders/magick.c index 9a74e8c2b..ac121ac09 100644 --- a/coders/magick.c +++ b/coders/magick.c @@ -13265,7 +13265,7 @@ static const MagickImageInfo Forward declarations. */ static MagickBooleanType - WriteMAGICKImage(const ImageInfo *,Image *); + WriteMAGICKImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -13469,7 +13469,7 @@ ModuleExport void UnregisterMAGICKImage(void) % The format of the WriteMAGICKImage method is: % % MagickBooleanType WriteMAGICKImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -13477,9 +13477,11 @@ ModuleExport void UnregisterMAGICKImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteMAGICKImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { char buffer[MaxTextExtent]; @@ -13515,9 +13517,9 @@ static MagickBooleanType WriteMAGICKImage(const ImageInfo *image_info, image_info->filename); assert(image != (Image *) NULL); assert(image->signature == MagickSignature); - magick_image=CloneImage(image,0,0,MagickTrue,&image->exception); + magick_image=CloneImage(image,0,0,MagickTrue,exception); if (magick_image == (Image *) NULL) - ThrowWriterException(ResourceLimitError,image->exception.reason); + return(MagickFalse); write_info=CloneImageInfo(image_info); *write_info->filename='\0'; (void) CopyMagickString(write_info->magick,"GIF",MaxTextExtent); @@ -13527,12 +13529,12 @@ static MagickBooleanType WriteMAGICKImage(const ImageInfo *image_info, (void) CopyMagickString(write_info->magick,"PNM",MaxTextExtent); length*=3; } - blob=ImageToBlob(write_info,magick_image,&length,&image->exception); + blob=ImageToBlob(write_info,magick_image,&length,exception); magick_image=DestroyImage(magick_image); (void) DestroyImageInfo(write_info); if (blob == (void *) NULL) return(MagickFalse); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlobString(image,"/*\n"); diff --git a/coders/map.c b/coders/map.c index 0a08aee96..2fa230005 100644 --- a/coders/map.c +++ b/coders/map.c @@ -69,7 +69,7 @@ Forward declarations. */ static MagickBooleanType - WriteMAPImage(const ImageInfo *,Image *); + WriteMAPImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -321,7 +321,8 @@ ModuleExport void UnregisterMAPImage(void) % % The format of the WriteMAPImage method is: % -% MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMAPImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -329,9 +330,11 @@ ModuleExport void UnregisterMAPImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ -static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -366,7 +369,7 @@ static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -374,7 +377,7 @@ static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image) /* Allocate colormap. */ - if (IsPaletteImage(image,&image->exception) == MagickFalse) + if (IsPaletteImage(image,exception) == MagickFalse) (void) SetImageType(image,PaletteType); depth=GetImageQuantumDepth(image,MagickTrue); packet_size=(size_t) (depth/8); @@ -414,7 +417,7 @@ static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/mat.c b/coders/mat.c index c35d96783..45d47657c 100644 --- a/coders/mat.c +++ b/coders/mat.c @@ -82,7 +82,7 @@ Forward declaration. */ static MagickBooleanType - WriteMATImage(const ImageInfo *,Image *); + WriteMATImage(const ImageInfo *,Image *,ExceptionInfo *); /* Auto coloring method, sorry this creates some artefact inside data @@ -1143,24 +1143,21 @@ ModuleExport void UnregisterMATImage(void) % % The format of the WriteMATImage method is: % -% unsigned int WriteMATImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMATImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % -% o status: Function WriteMATImage return True if the image is written. -% False is returned is there is a memory shortage or if the image file -% fails to write. -% % o image_info: Specifies a pointer to a ImageInfo structure. % % o image: A pointer to an Image structure. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { - ExceptionInfo - *exception; - ssize_t y; unsigned z; register const Quantum *p; @@ -1190,7 +1187,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); logging=LogMagickEvent(CoderEvent,GetMagickModule(),"enter MAT"); (void) logging; - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(MagickFalse); image->depth=8; @@ -1217,7 +1214,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image) if (IsRGBColorspace(image->colorspace) == MagickFalse) (void) TransformImageColorspace(image,RGBColorspace); - is_gray = IsImageGray(image,&image->exception); + is_gray = IsImageGray(image,exception); z = is_gray ? 0 : 3; /* @@ -1251,7 +1248,6 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image) /* Store image data. */ - exception=(&image->exception); quantum_info=AcquireQuantumInfo(image_info,image); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); @@ -1260,14 +1256,14 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image) { for (y=0; y < (ssize_t)image->columns; y++) { - p=GetVirtualPixels(image,y,0,1,image->rows,&image->exception); + p=GetVirtualPixels(image,y,0,1,image->rows,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, z2qtype[z],pixels,exception); (void) WriteBlob(image,image->rows,pixels); } - if (!SyncAuthenticPixels(image,exception)) + if (SyncAuthenticPixels(image,exception) == MagickFalse) break; } while(z-- >= 2); while(padding-->0) (void) WriteBlobByte(image,0); diff --git a/coders/matte.c b/coders/matte.c index 2df9a7e14..f98b8e2d9 100644 --- a/coders/matte.c +++ b/coders/matte.c @@ -62,7 +62,7 @@ Forward declarations. */ static MagickBooleanType - WriteMATTEImage(const ImageInfo *,Image *); + WriteMATTEImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -136,13 +136,13 @@ ModuleExport void UnregisterMATTEImage(void) % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Function WriteMATTEImage() writes an image of matte bytes to a file. It -% consists of data from the matte component of the image [0..255]. +% WriteMATTEImage() writes an image of matte bytes to a file. It consists of +% data from the matte component of the image [0..255]. % % The format of the WriteMATTEImage method is: % % MagickBooleanType WriteMATTEImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -150,13 +150,12 @@ ModuleExport void UnregisterMATTEImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteMATTEImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { - ExceptionInfo - *exception; - Image *matte_image; @@ -177,8 +176,7 @@ static MagickBooleanType WriteMATTEImage(const ImageInfo *image_info, if (image->matte == MagickFalse) ThrowWriterException(CoderError,"ImageDoesNotHaveAAlphaChannel"); - matte_image=CloneImage(image,image->columns,image->rows,MagickTrue, - &image->exception); + matte_image=CloneImage(image,image->columns,image->rows,MagickTrue,exception); if (matte_image == (Image *) NULL) return(MagickFalse); (void) SetImageType(matte_image,TrueColorMatteType); @@ -186,7 +184,6 @@ static MagickBooleanType WriteMATTEImage(const ImageInfo *image_info, /* Convert image to matte pixels. */ - exception=(&image->exception); for (y=0; y < (ssize_t) image->rows; y++) { p=GetVirtualPixels(image,0,y,image->columns,1,exception); diff --git a/coders/meta.c b/coders/meta.c index 03fbbf4c1..21aa2f177 100644 --- a/coders/meta.c +++ b/coders/meta.c @@ -63,7 +63,7 @@ Forward declarations. */ static MagickBooleanType - WriteMETAImage(const ImageInfo *,Image *); + WriteMETAImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1565,7 +1565,7 @@ ModuleExport void UnregisterMETAImage(void) % The format of the WriteMETAImage method is: % % MagickBooleanType WriteMETAImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % Compression code contributed by Kyle Shorter. % @@ -1575,6 +1575,8 @@ ModuleExport void UnregisterMETAImage(void) % % o image: A pointer to a Image structure. % +% o exception: return any errors or warnings in this structure. +% */ static size_t GetIPTCStream(unsigned char **info,size_t length) @@ -2225,7 +2227,7 @@ static int format8BIM(Image *ifile, Image *ofile) } static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { const StringInfo *profile; @@ -2254,7 +2256,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, profile=GetImageProfile(image,"8bim"); if (profile == (StringInfo *) NULL) ThrowWriterException(CoderError,"No8BIMDataIsAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlob(image,GetStringInfoLength(profile), @@ -2275,7 +2277,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, profile=GetImageProfile(image,"8bim"); if (profile == (StringInfo *) NULL) ThrowWriterException(CoderError,"No8BIMDataIsAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); info=GetStringInfoDatum(profile); length=GetStringInfoLength(profile); length=GetIPTCStream(&info,length); @@ -2293,7 +2295,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, profile=GetImageProfile(image,"8bim"); if (profile == (StringInfo *) NULL) ThrowWriterException(CoderError,"No8BIMDataIsAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); buff=AcquireImage((ImageInfo *) NULL); @@ -2325,7 +2327,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, length=GetIPTCStream(&info,length); if (length == 0) ThrowWriterException(CoderError,"NoIPTCProfileAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); buff=AcquireImage((ImageInfo *) NULL); @@ -2350,7 +2352,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, profile=GetImageProfile(image,image_info->magick); if (profile == (StringInfo *) NULL) ThrowWriterException(CoderError,"NoAPP1DataIsAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlob(image,GetStringInfoLength(profile), @@ -2367,7 +2369,7 @@ static MagickBooleanType WriteMETAImage(const ImageInfo *image_info, profile=GetImageProfile(image,"icc"); if (profile == (StringInfo *) NULL) ThrowWriterException(CoderError,"NoColorProfileIsAvailable"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlob(image,GetStringInfoLength(profile), diff --git a/coders/miff.c b/coders/miff.c index be9335050..ce28f8df8 100644 --- a/coders/miff.c +++ b/coders/miff.c @@ -93,7 +93,7 @@ Forward declarations. */ static MagickBooleanType - WriteMIFFImage(const ImageInfo *,Image *); + WriteMIFFImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1623,7 +1623,7 @@ ModuleExport void UnregisterMIFFImage(void) % The format of the WriteMIFFImage method is: % % MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % Compression code contributed by Kyle Shorter. % @@ -1633,6 +1633,8 @@ ModuleExport void UnregisterMIFFImage(void) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ static unsigned char *PopRunlengthPacket(Image *image,unsigned char *pixels, @@ -1783,7 +1785,7 @@ static unsigned char *PopRunlengthPacket(Image *image,unsigned char *pixels, } static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { #if defined(MAGICKCORE_BZLIB_DELEGATE) bz_stream @@ -1857,7 +1859,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); code=0; @@ -1874,7 +1876,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); if ((image->storage_class != PseudoClass) && (image->depth >= 32) && (quantum_info->format == UndefinedQuantumFormat) && - (IsHighDynamicRangeImage(image,&image->exception) != MagickFalse)) + (IsHighDynamicRangeImage(image,exception) != MagickFalse)) { status=SetQuantumFormat(image,quantum_info,FloatingPointQuantumFormat); if (status == MagickFalse) @@ -1882,12 +1884,12 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, } if ((image->storage_class == PseudoClass) && (image->colors > (size_t) (GetQuantumRange(image->depth)+1))) - (void) SetImageStorageClass(image,DirectClass,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); if ((image->colorspace != sRGBColorspace) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) { - (void) SetImageStorageClass(image,DirectClass,&image->exception); - (void) SetImageColorspace(image,GRAYColorspace,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); + (void) SetImageColorspace(image,GRAYColorspace,exception); } compression=image->compression; if (image_info->compression != UndefinedCompression) @@ -2297,7 +2299,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, default: break; } - quantum_type=GetQuantumType(image,&image->exception); + quantum_type=GetQuantumType(image,exception); pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) image->rows; y++) { @@ -2309,7 +2311,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, if (status == MagickFalse) break; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; @@ -2321,7 +2323,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, bzip_info.next_in=(char *) pixels; bzip_info.avail_in=(unsigned int) (packet_size*image->columns); (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); do { bzip_info.next_out=(char *) compress_pixels; @@ -2346,7 +2348,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, lzma_info.next_in=pixels; lzma_info.avail_in=packet_size*image->columns; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); do { lzma_info.next_out=compress_pixels; @@ -2371,7 +2373,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, zip_info.next_in=pixels; zip_info.avail_in=(uInt) (packet_size*image->columns); (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); do { zip_info.next_out=compress_pixels; @@ -2415,7 +2417,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, default: { (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); (void) WriteBlob(image,packet_size*image->columns,pixels); break; } diff --git a/coders/mono.c b/coders/mono.c index 138b257c1..3395e0b92 100644 --- a/coders/mono.c +++ b/coders/mono.c @@ -66,7 +66,7 @@ Forward declarations. */ static MagickBooleanType - WriteMONOImage(const ImageInfo *,Image *); + WriteMONOImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -269,7 +269,7 @@ ModuleExport void UnregisterMONOImage(void) % The format of the WriteMONOImage method is: % % MagickBooleanType WriteMONOImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -277,9 +277,11 @@ ModuleExport void UnregisterMONOImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteMONOImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { MagickBooleanType status; @@ -306,7 +308,7 @@ static MagickBooleanType WriteMONOImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -317,7 +319,7 @@ static MagickBooleanType WriteMONOImage(const ImageInfo *image_info, (void) SetImageType(image,BilevelType); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; diff --git a/coders/mpc.c b/coders/mpc.c index 438a00fb5..5568e1b0b 100644 --- a/coders/mpc.c +++ b/coders/mpc.c @@ -76,7 +76,7 @@ Forward declarations. */ static MagickBooleanType - WriteMPCImage(const ImageInfo *,Image *); + WriteMPCImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1015,7 +1015,8 @@ ModuleExport void UnregisterMPCImage(void) % % The format of the WriteMPCImage method is: % -% MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMPCImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -1023,8 +1024,11 @@ ModuleExport void UnregisterMPCImage(void) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char buffer[MaxTextExtent], @@ -1057,7 +1061,7 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) CopyMagickString(cache_filename,image->filename,MaxTextExtent); @@ -1395,7 +1399,7 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image) Initialize persistent pixel cache. */ status=PersistPixelCache(image,cache_filename,MagickFalse,&offset, - &image->exception); + exception); if (status == MagickFalse) ThrowWriterException(CacheError,"UnableToPersistPixelCache"); if (GetNextImageInList(image) == (Image *) NULL) diff --git a/coders/mpeg.c b/coders/mpeg.c index c733d262f..b3a5f0c6e 100644 --- a/coders/mpeg.c +++ b/coders/mpeg.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteMPEGImage(const ImageInfo *image_info,Image *image); + WriteMPEGImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -354,7 +354,7 @@ ModuleExport void UnregisterMPEGImage(void) % The format of the WriteMPEGImage method is: % % MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -362,6 +362,8 @@ ModuleExport void UnregisterMPEGImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline double MagickMax(const double x,const double y) @@ -453,7 +455,7 @@ static MagickBooleanType CopyDelegateFile(const char *source, } static MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { #define WriteMPEGIntermediateFormat "jpg" @@ -499,14 +501,14 @@ static MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) CloseBlob(image); /* Write intermediate files. */ - coalesce_image=CoalesceImages(image,&image->exception); + coalesce_image=CoalesceImages(image,exception); if (coalesce_image == (Image *) NULL) return(MagickFalse); file=AcquireUniqueFileResource(basename); @@ -544,24 +546,24 @@ static MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, (void) FormatLocaleString(previous_image,MaxTextExtent, "%s%.20g.%s",basename,(double) p->scene, WriteMPEGIntermediateFormat); - frame=CloneImage(p,0,0,MagickTrue,&p->exception); + frame=CloneImage(p,0,0,MagickTrue,exception); if (frame == (Image *) NULL) break; - status=WriteImage(write_info,frame,&image->exception); + status=WriteImage(write_info,frame,exception); frame=DestroyImage(frame); break; } case 1: { blob=(unsigned char *) FileToBlob(previous_image,~0UL,&length, - &image->exception); + exception); } default: { (void) FormatLocaleString(filename,MaxTextExtent,"%s%.20g.%s", basename,(double) p->scene,WriteMPEGIntermediateFormat); if (length > 0) - status=BlobToFile(filename,blob,length,&image->exception); + status=BlobToFile(filename,blob,length,exception); break; } } @@ -594,7 +596,7 @@ static MagickBooleanType WriteMPEGImage(const ImageInfo *image_info, if (*coalesce_image->magick == '\0') (void) CopyMagickString(coalesce_image->magick,image->magick,MaxTextExtent); status=InvokeDelegate(write_info,coalesce_image,(char *) NULL,"mpeg:encode", - &image->exception); + exception); (void) FormatLocaleString(write_info->filename,MaxTextExtent,"%s.%s", write_info->unique,coalesce_image->magick); status=CopyDelegateFile(write_info->filename,image->filename); diff --git a/coders/mpr.c b/coders/mpr.c index cc7776df7..993aa0fa4 100644 --- a/coders/mpr.c +++ b/coders/mpr.c @@ -56,7 +56,7 @@ Forward declarations. */ static MagickBooleanType - WriteMPRImage(const ImageInfo *,Image *); + WriteMPRImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -195,7 +195,8 @@ ModuleExport void UnregisterMPRImage(void) % % The format of the WriteMPRImage method is: % -% MagickBooleanType WriteMPRImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMPRImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -203,8 +204,11 @@ ModuleExport void UnregisterMPRImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMPRImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMPRImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -215,7 +219,6 @@ static MagickBooleanType WriteMPRImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=SetImageRegistry(ImageRegistryType,image->filename,image, - &image->exception); + status=SetImageRegistry(ImageRegistryType,image->filename,image,exception); return(status); } diff --git a/coders/msl.c b/coders/msl.c index 0a970d139..7d05389cf 100644 --- a/coders/msl.c +++ b/coders/msl.c @@ -157,7 +157,7 @@ typedef struct _MSLInfo */ #if defined(MAGICKCORE_XML_DELEGATE) static MagickBooleanType - WriteMSLImage(const ImageInfo *,Image *); + WriteMSLImage(const ImageInfo *,Image *,ExceptionInfo *); static MagickBooleanType SetMSLAttributes(MSLInfo *,const char *,const char *); @@ -8100,7 +8100,8 @@ ModuleExport void UnregisterMSLImage(void) % % The format of the WriteMSLImage method is: % -% MagickBooleanType WriteMSLImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMSLImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -8108,8 +8109,11 @@ ModuleExport void UnregisterMSLImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMSLImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMSLImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { assert(image_info != (const ImageInfo *) NULL); assert(image_info->signature == MagickSignature); @@ -8118,7 +8122,7 @@ static MagickBooleanType WriteMSLImage(const ImageInfo *image_info,Image *image) if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); (void) ReferenceImage(image); - (void) ProcessMSLScript(image_info,&image,&image->exception); + (void) ProcessMSLScript(image_info,&image,exception); return(MagickTrue); } #endif diff --git a/coders/mtv.c b/coders/mtv.c index e3a2b9afe..d67137602 100644 --- a/coders/mtv.c +++ b/coders/mtv.c @@ -64,7 +64,7 @@ Forward declarations. */ static MagickBooleanType - WriteMTVImage(const ImageInfo *,Image *); + WriteMTVImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -307,7 +307,8 @@ ModuleExport void UnregisterMTVImage(void) % % The format of the WriteMTVImage method is: % -% MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMTVImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -315,8 +316,11 @@ ModuleExport void UnregisterMTVImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char buffer[MaxTextExtent]; @@ -351,7 +355,7 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -374,7 +378,7 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image) (void) WriteBlobString(image,buffer); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/mvg.c b/coders/mvg.c index c9c2ff530..36c4f4460 100644 --- a/coders/mvg.c +++ b/coders/mvg.c @@ -61,7 +61,7 @@ Forward declarations. */ static MagickBooleanType - WriteMVGImage(const ImageInfo *,Image *); + WriteMVGImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -295,7 +295,8 @@ ModuleExport void UnregisterMVGImage(void) % % The format of the WriteMVGImage method is: % -% MagickBooleanType WriteMVGImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMVGImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -303,8 +304,11 @@ ModuleExport void UnregisterMVGImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WriteMVGImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMVGImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { const char *value; @@ -324,7 +328,7 @@ static MagickBooleanType WriteMVGImage(const ImageInfo *image_info,Image *image) value=GetImageArtifact(image,"MVG"); if (value == (const char *) NULL) ThrowWriterException(OptionError,"NoImageVectorGraphics"); - status=OpenBlob(image_info,image,WriteBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBlobMode,exception); if (status == MagickFalse) return(status); (void) WriteBlob(image,strlen(value),(const unsigned char *) value); diff --git a/coders/null.c b/coders/null.c index 00f87e2be..53d555ce4 100644 --- a/coders/null.c +++ b/coders/null.c @@ -63,7 +63,7 @@ Forward declarations. */ static MagickBooleanType - WriteNULLImage(const ImageInfo *,Image *); + WriteNULLImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -227,7 +227,7 @@ ModuleExport void UnregisterNULLImage(void) % The format of the WriteNULLImage method is: % % MagickBooleanType WriteNULLImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -235,14 +235,17 @@ ModuleExport void UnregisterNULLImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WriteNULLImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { assert(image_info != (const ImageInfo *) NULL); assert(image_info->signature == MagickSignature); assert(image != (Image *) NULL); assert(image->signature == MagickSignature); + assert(exception != (ExceptionInfo *) NULL); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); return(MagickTrue); diff --git a/coders/otb.c b/coders/otb.c index 621650fb6..e35c51fd0 100644 --- a/coders/otb.c +++ b/coders/otb.c @@ -65,7 +65,7 @@ Forward declarations. */ static MagickBooleanType - WriteOTBImage(const ImageInfo *,Image *); + WriteOTBImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -284,7 +284,8 @@ ModuleExport void UnregisterOTBImage(void) % % The format of the WriteOTBImage method is: % -% MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteOTBImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -292,9 +293,11 @@ ModuleExport void UnregisterOTBImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ -static MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { #define SetBit(a,i,set) \ a=(unsigned char) ((set) ? (a) | (1L << (i)) : (a) & ~(1L << (i))) @@ -325,7 +328,7 @@ static MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -351,7 +354,7 @@ static MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image) (void) WriteBlobByte(image,1); /* depth */ for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; diff --git a/coders/palm.c b/coders/palm.c index 367a9ab0e..ba1da3090 100644 --- a/coders/palm.c +++ b/coders/palm.c @@ -161,7 +161,7 @@ static unsigned char Forward declarations. */ static MagickBooleanType - WritePALMImage(const ImageInfo *,Image *); + WritePALMImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -640,7 +640,7 @@ ModuleExport void UnregisterPALMImage(void) % The format of the WritePALMImage method is: % % MagickBooleanType WritePALMImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -648,16 +648,15 @@ ModuleExport void UnregisterPALMImage(void) % % o image: A pointer to a Image structure. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { int y; - ExceptionInfo - exception; - MagickBooleanType status; @@ -716,10 +715,9 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); - GetExceptionInfo(&exception); quantize_info=AcquireQuantizeInfo(image_info); flags=0; currentOffset=0; @@ -735,7 +733,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, { if (IsRGBColorspace(image->colorspace) == MagickFalse) (void) TransformImageColorspace(image,RGBColorspace); - count=GetNumberColors(image,NULL,&exception); + count=GetNumberColors(image,NULL,exception); for (bits_per_pixel=1; (one << bits_per_pixel) < count; bits_per_pixel*=2) ; if (image_info->depth > 100) bits_per_pixel=image_info->depth-100; @@ -748,7 +746,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, (void) SortColormapByIntensity(image); } if ((image->storage_class == PseudoClass) && (image->colors > 256)) - (void) SetImageStorageClass(image,DirectClass,&image->exception); + (void) SetImageStorageClass(image,DirectClass,exception); if (image->storage_class == PseudoClass) flags|=PALM_HAS_COLORMAP_FLAG; else @@ -793,7 +791,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, { if (flags & PALM_HAS_COLORMAP_FLAG) /* Write out colormap */ { - quantize_info->dither=IsPaletteImage(image,&image->exception); + quantize_info->dither=IsPaletteImage(image,exception); quantize_info->number_colors=image->colors; (void) QuantizeImage(quantize_info,image); (void) WriteBlobMSBShort(image,(unsigned short) image->colors); @@ -815,13 +813,13 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, *affinity_image; affinity_image=ConstituteImage(256,1,"RGB",CharPixel,&PalmPalette, - &exception); + exception); (void) TransformImageColorspace(affinity_image, affinity_image->colorspace); (void) RemapImage(quantize_info,image,affinity_image); for (y=0; y < (ssize_t) image->rows; y++) { - q=GetAuthenticPixels(image,0,y,image->columns,1,&exception); + q=GetAuthenticPixels(image,0,y,image->columns,1,exception); for (x=0; x < (ssize_t) image->columns; x++) { SetPixelIndex(image,FindColor(image,&image->colormap[(ssize_t) @@ -847,7 +845,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, { ptr=one_row; (void) ResetMagickMemory(ptr,0,bytes_per_row); - p=GetVirtualPixels(image,0,y,image->columns,1,&exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; if (bits_per_pixel == 16) @@ -982,6 +980,5 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, } while (image_info->adjoin != MagickFalse); quantize_info=DestroyQuantizeInfo(quantize_info); (void) CloseBlob(image); - (void) DestroyExceptionInfo(&exception); return(MagickTrue); } diff --git a/coders/pcd.c b/coders/pcd.c index 62fb2a70d..36c096b83 100644 --- a/coders/pcd.c +++ b/coders/pcd.c @@ -75,7 +75,7 @@ Forward declarations. */ static MagickBooleanType - WritePCDImage(const ImageInfo *,Image *); + WritePCDImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -929,7 +929,8 @@ ModuleExport void UnregisterPCDImage(void) % % The format of the WritePCDImage method is: % -% MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePCDImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -937,6 +938,8 @@ ModuleExport void UnregisterPCDImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WritePCDTile(Image *image,const char *page_geometry, @@ -1060,7 +1063,8 @@ static MagickBooleanType WritePCDTile(Image *image,const char *page_geometry, return(MagickTrue); } -static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { Image *pcd_image; @@ -1086,7 +1090,7 @@ static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image) /* Rotate portrait to landscape. */ - rotate_image=RotateImage(image,90.0,&image->exception); + rotate_image=RotateImage(image,90.0,exception); if (rotate_image == (Image *) NULL) return(MagickFalse); pcd_image=rotate_image; @@ -1094,7 +1098,7 @@ static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image) /* Open output image file. */ - status=OpenBlob(image_info,pcd_image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,pcd_image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) diff --git a/coders/pcl.c b/coders/pcl.c index ae35056f3..12498f022 100644 --- a/coders/pcl.c +++ b/coders/pcl.c @@ -78,7 +78,7 @@ Forward declarations. */ static MagickBooleanType - WritePCLImage(const ImageInfo *,Image *); + WritePCLImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -469,7 +469,8 @@ ModuleExport void UnregisterPCLImage(void) % % The format of the WritePCLImage method is: % -% MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePCLImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -477,6 +478,8 @@ ModuleExport void UnregisterPCLImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static size_t PCLDeltaCompressImage(const size_t length, @@ -651,7 +654,8 @@ static size_t PCLPackbitsCompressImage(const size_t length, return((size_t) (q-compress_pixels)); } -static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char buffer[MaxTextExtent]; @@ -695,7 +699,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); density=75; @@ -725,7 +729,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image) density); (void) WriteBlobString(image,buffer); (void) WriteBlobString(image,"\033&l0E"); /* top margin 0 */ - if (IsImageMonochrome(image,&image->exception) != MagickFalse) + if (IsImageMonochrome(image,exception) != MagickFalse) { /* Monochrome image: use default printer monochrome setup. @@ -842,7 +846,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image) } for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; diff --git a/coders/pcx.c b/coders/pcx.c index 91e0ab0a1..3ad7e1df5 100644 --- a/coders/pcx.c +++ b/coders/pcx.c @@ -99,7 +99,7 @@ typedef struct _PCXInfo Forward declarations. */ static MagickBooleanType - WritePCXImage(const ImageInfo *,Image *); + WritePCXImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -761,7 +761,8 @@ ModuleExport void UnregisterPCXImage(void) % % The format of the WritePCXImage method is: % -% MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePCXImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -769,8 +770,10 @@ ModuleExport void UnregisterPCXImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ + static MagickBooleanType PCXWritePixels(PCXInfo *pcx_info, const unsigned char *pixels,Image *image) { @@ -828,7 +831,8 @@ static MagickBooleanType PCXWritePixels(PCXInfo *pcx_info, return (MagickTrue); } -static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType status; @@ -870,7 +874,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -904,7 +908,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) pcx_info.encoding=image_info->compression == NoCompression ? 0 : 1; pcx_info.bits_per_pixel=8; if ((image->storage_class == PseudoClass) && - (IsImageMonochrome(image,&image->exception) != MagickFalse)) + (IsImageMonochrome(image,exception) != MagickFalse)) pcx_info.bits_per_pixel=1; pcx_info.left=0; pcx_info.top=0; @@ -993,8 +997,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) */ for (y=0; y < (ssize_t) image->rows; y++) { - pixels=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + pixels=GetVirtualPixels(image,0,y,image->columns,1,exception); if (pixels == (const Quantum *) NULL) break; q=pcx_pixels; @@ -1058,7 +1061,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) if (pcx_info.bits_per_pixel > 1) for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pcx_pixels; @@ -1096,8 +1099,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) GetPixelPacketIntensity(&image->colormap[1]) ? 1 : 0); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; @@ -1167,8 +1169,8 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image) *message; message=GetExceptionMessage(errno); - (void) ThrowMagickException(&image->exception,GetMagickModule(), - FileOpenError,"UnableToWriteFile","`%s': %s",image->filename,message); + (void) ThrowMagickException(exception,GetMagickModule(),FileOpenError, + "UnableToWriteFile","`%s': %s",image->filename,message); message=DestroyString(message); } (void) CloseBlob(image); diff --git a/coders/pdb.c b/coders/pdb.c index dc4b37474..1f8986dd4 100644 --- a/coders/pdb.c +++ b/coders/pdb.c @@ -134,7 +134,7 @@ typedef struct _PDBImage Forward declarations. */ static MagickBooleanType - WritePDBImage(const ImageInfo *,Image *); + WritePDBImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -656,7 +656,8 @@ ModuleExport void UnregisterPDBImage(void) % % The format of the WritePDBImage method is: % -% MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePDBImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -664,6 +665,7 @@ ModuleExport void UnregisterPDBImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % */ @@ -682,7 +684,8 @@ static unsigned char *EncodeRLE(unsigned char *destination, return(destination); } -static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { const char *comment; @@ -735,13 +738,13 @@ static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) (void) TransformImageColorspace(image,RGBColorspace); - if (image -> colors <= 2 || GetImageType( image, &image -> exception ) == BilevelType) { /* TS */ + if (image -> colors <= 2 || GetImageType( image, exception ) == BilevelType) { /* TS */ bits_per_pixel = 1; } else if (image -> colors <= 4) { bits_per_pixel = 2; @@ -828,11 +831,11 @@ static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image) buffer[0]=0x00; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; (void) ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GrayQuantum,scanline,&image->exception); + GrayQuantum,scanline,exception); for (x=0; x < pdb_image.width; x++) { if (x < (ssize_t) image->columns) diff --git a/coders/pdf.c b/coders/pdf.c index 06483d942..66a1f561a 100644 --- a/coders/pdf.c +++ b/coders/pdf.c @@ -90,7 +90,7 @@ Forward declarations. */ static MagickBooleanType - WritePDFImage(const ImageInfo *,Image *); + WritePDFImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -831,7 +831,8 @@ ModuleExport void UnregisterPDFImage(void) % % The format of the WritePDFImage method is: % -% MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePDFImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -839,6 +840,8 @@ ModuleExport void UnregisterPDFImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static inline size_t MagickMax(const size_t x,const size_t y) @@ -921,7 +924,8 @@ static MagickBooleanType Huffman2DEncodeImage(const ImageInfo *image_info, return(status); } -static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { #define CFormat "/Filter [ /%s ]\n" #define ObjectsPerImage 14 @@ -1051,7 +1055,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); /* @@ -1195,7 +1199,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case FaxCompression: case Group4Compression: { - if ((IsImageMonochrome(image,&image->exception) == MagickFalse) || + if ((IsImageMonochrome(image,exception) == MagickFalse) || (image->matte != MagickFalse)) compression=RLECompression; break; @@ -1204,7 +1208,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case JPEGCompression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (JPEG)", image->filename); break; @@ -1214,7 +1218,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case JPEG2000Compression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (JP2)", image->filename); break; @@ -1224,7 +1228,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case ZipCompression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (ZLIB)", image->filename); break; @@ -1301,8 +1305,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) scale.y=(double) (geometry.height*delta.y)/resolution.y; geometry.height=(size_t) floor(scale.y+0.5); (void) ParseAbsoluteGeometry(page_geometry,&media_info); - (void) ParseGravityGeometry(image,page_geometry,&page_info, - &image->exception); + (void) ParseGravityGeometry(image,page_geometry,&page_info,exception); if (image->gravity != UndefinedGravity) { geometry.x=(-page_info.x); @@ -1551,7 +1554,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); if ((compression == FaxCompression) || (compression == Group4Compression) || ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse))) + (IsImageGray(image,exception) != MagickFalse))) { switch (compression) { @@ -1568,18 +1571,22 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) } case JPEGCompression: { - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case JPEG2000Compression: { - status=InjectImageBlob(image_info,image,image,"jp2", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jp2",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -1599,7 +1606,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1640,7 +1647,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1670,18 +1677,22 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) { case JPEGCompression: { - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case JPEG2000Compression: { - status=InjectImageBlob(image_info,image,image,"jp2", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jp2",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -1702,7 +1713,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1747,7 +1758,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1797,8 +1808,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1839,8 +1849,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1888,7 +1897,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) if ((compression == FaxCompression) || (compression == Group4Compression) || ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse))) + (IsImageGray(image,exception) != MagickFalse))) (void) CopyMagickString(buffer,"/DeviceGray\n",MaxTextExtent); else if ((image->storage_class == DirectClass) || (image->colors > 256) || @@ -1907,10 +1916,9 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) SetGeometry(image,&geometry); (void) ParseMetaGeometry("106x106+0+0>",&geometry.x,&geometry.y, &geometry.width,&geometry.height); - tile_image=ThumbnailImage(image,geometry.width,geometry.height, - &image->exception); + tile_image=ThumbnailImage(image,geometry.width,geometry.height,exception); if (tile_image == (Image *) NULL) - ThrowWriterException(ResourceLimitError,image->exception.reason); + return(MagickFalse); xref[object++]=TellBlob(image); (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g 0 obj\n",(double) object); @@ -1995,7 +2003,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) if ((compression == FaxCompression) || (compression == Group4Compression) || ((image_info->type != TrueColorType) && - (IsImageGray(tile_image,&image->exception) != MagickFalse))) + (IsImageGray(tile_image,exception) != MagickFalse))) { switch (compression) { @@ -2013,17 +2021,22 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case JPEGCompression: { status=InjectImageBlob(image_info,image,tile_image,"jpeg", - &image->exception); + exception); if (status == MagickFalse) - ThrowWriterException(CoderError,tile_image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case JPEG2000Compression: { - status=InjectImageBlob(image_info,image,tile_image,"jp2", - &image->exception); + status=InjectImageBlob(image_info,image,tile_image,"jp2",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,tile_image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -2048,7 +2061,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2083,7 +2096,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2107,17 +2120,22 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) case JPEGCompression: { status=InjectImageBlob(image_info,image,tile_image,"jpeg", - &image->exception); + exception); if (status == MagickFalse) - ThrowWriterException(CoderError,tile_image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case JPEG2000Compression: { - status=InjectImageBlob(image_info,image,tile_image,"jp2", - &image->exception); + status=InjectImageBlob(image_info,image,tile_image,"jp2",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,tile_image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -2143,7 +2161,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2182,7 +2200,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2232,7 +2250,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2267,7 +2285,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) tile_image->rows; y++) { p=GetVirtualPixels(tile_image,0,y,tile_image->columns,1, - &tile_image->exception); + exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) tile_image->columns; x++) @@ -2435,7 +2453,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -2469,7 +2487,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/pict.c b/coders/pict.c index afa69bdc9..7e2de3af9 100644 --- a/coders/pict.c +++ b/coders/pict.c @@ -321,7 +321,7 @@ static const PICTCode Forward declarations. */ static MagickBooleanType - WritePICTImage(const ImageInfo *,Image *); + WritePICTImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1510,7 +1510,7 @@ ModuleExport void UnregisterPICTImage(void) % The format of the WritePICTImage method is: % % MagickBooleanType WritePICTImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1518,9 +1518,11 @@ ModuleExport void UnregisterPICTImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { #define MaxCount 128 #define PictCropRegionOp 0x01 @@ -1592,7 +1594,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); if ((image->columns > 65535L) || (image->rows > 65535L)) ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit"); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); if (IsRGBColorspace(image->colorspace) == MagickFalse) @@ -1732,7 +1734,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, unsigned char *blob; - jpeg_image=CloneImage(image,0,0,MagickTrue,&image->exception); + jpeg_image=CloneImage(image,0,0,MagickTrue,exception); if (jpeg_image == (Image *) NULL) { (void) CloseBlob(image); @@ -1742,7 +1744,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, (void) CopyMagickString(jpeg_info->magick,"JPEG",MaxTextExtent); length=0; blob=(unsigned char *) ImageToBlob(jpeg_info,jpeg_image,&length, - &image->exception); + exception); jpeg_info=DestroyImageInfo(jpeg_info); if (blob == (unsigned char *) NULL) return(MagickFalse); @@ -1872,7 +1874,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, if ((storage_class == PseudoClass) && (image->matte == MagickFalse)) for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1912,7 +1914,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info, opacity=scanline+3*image->columns; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; red=scanline; diff --git a/coders/png.c b/coders/png.c index a65a6bc64..bd5782b3c 100644 --- a/coders/png.c +++ b/coders/png.c @@ -932,14 +932,14 @@ typedef struct _MngInfo Forward declarations. */ static MagickBooleanType - WritePNGImage(const ImageInfo *,Image *); + WritePNGImage(const ImageInfo *,Image *,ExceptionInfo *); static MagickBooleanType - WriteMNGImage(const ImageInfo *,Image *); + WriteMNGImage(const ImageInfo *,Image *,ExceptionInfo *); #if defined(JNG_SUPPORTED) static MagickBooleanType - WriteJNGImage(const ImageInfo *,Image *); + WriteJNGImage(const ImageInfo *,Image *,ExceptionInfo *); #endif #if PNG_LIBPNG_VER > 10011 @@ -7222,7 +7222,8 @@ ModuleExport void UnregisterPNGImage(void) % % The format of the WriteMNGImage method is: % -% MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteMNGImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -7230,6 +7231,7 @@ ModuleExport void UnregisterPNGImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. % % To do (as of version 5.5.2, November 26, 2002 -- glennrp -- see also % "To do" under ReadPNGImage): @@ -10765,7 +10767,8 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, % % The format of the WritePNGImage method is: % -% MagickBooleanType WritePNGImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePNGImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -10773,6 +10776,8 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% % Returns MagickTrue on success, MagickFalse on failure. % % Communicating with the PNG encoder: @@ -10891,7 +10896,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ static MagickBooleanType WritePNGImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { MagickBooleanType excluding, @@ -12116,7 +12121,8 @@ static MagickBooleanType WriteOneJNGImage(MngInfo *mng_info, % % The format of the WriteJNGImage method is: % -% MagickBooleanType WriteJNGImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WriteJNGImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -12124,9 +12130,12 @@ static MagickBooleanType WriteOneJNGImage(MngInfo *mng_info, % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ -static MagickBooleanType WriteJNGImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteJNGImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { MagickBooleanType have_mng_structure, @@ -12176,9 +12185,8 @@ static MagickBooleanType WriteJNGImage(const ImageInfo *image_info,Image *image) } #endif - - -static MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WriteMNGImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { const char *option; diff --git a/coders/pnm.c b/coders/pnm.c index 1f3e764c0..f45e1ffb9 100644 --- a/coders/pnm.c +++ b/coders/pnm.c @@ -70,7 +70,7 @@ Forward declarations. */ static MagickBooleanType - WritePNMImage(const ImageInfo *,Image *); + WritePNMImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1404,7 +1404,8 @@ ModuleExport void UnregisterPNMImage(void) % % The format of the WritePNMImage method is: % -% MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePNMImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -1412,8 +1413,11 @@ ModuleExport void UnregisterPNMImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ -static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { char buffer[MaxTextExtent], @@ -1462,7 +1466,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); scene=0; @@ -1494,7 +1498,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) case 'f': { format='F'; - if (IsImageGray(image,&image->exception) != MagickFalse) + if (IsImageGray(image,exception) != MagickFalse) format='f'; break; } @@ -1510,12 +1514,12 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) case 'n': { if ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) { format='5'; if (image_info->compression == NoCompression) format='2'; - if (IsImageMonochrome(image,&image->exception) != MagickFalse) + if (IsImageMonochrome(image,exception) != MagickFalse) { format='4'; if (image_info->compression == NoCompression) @@ -1574,7 +1578,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) "WIDTH %.20g\nHEIGHT %.20g\n",(double) image->columns,(double) image->rows); (void) WriteBlobString(image,buffer); - quantum_type=GetQuantumType(image,&image->exception); + quantum_type=GetQuantumType(image,exception); switch (quantum_type) { case CMYKQuantum: @@ -1638,7 +1642,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1691,7 +1695,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1750,7 +1754,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1807,11 +1811,11 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; extent=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GrayQuantum,pixels,&image->exception); + GrayQuantum,pixels,exception); count=WriteBlob(image,extent,pixels); if (count != (ssize_t) extent) break; @@ -1854,13 +1858,13 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; if ((image->depth == 8) || (image->depth == 16)) extent=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - GrayQuantum,pixels,&image->exception); + GrayQuantum,pixels,exception); else { if (image->depth <= 8) @@ -1936,13 +1940,13 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; if ((image->depth == 8) || (image->depth == 16)) extent=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); else { if (image->depth <= 8) @@ -2004,13 +2008,13 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register ssize_t x; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; q=pixels; if ((image->depth == 8) || (image->depth == 16)) extent=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); else { switch (quantum_type) @@ -2159,11 +2163,11 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image) register const Quantum *restrict p; - p=GetVirtualPixels(image,0,y,image->columns,1,&image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; extent=ExportQuantumPixels(image,(CacheView *) NULL,quantum_info, - quantum_type,pixels,&image->exception); + quantum_type,pixels,exception); (void) WriteBlob(image,extent,pixels); if (image->previous == (Image *) NULL) { diff --git a/coders/preview.c b/coders/preview.c index 8c93bf5ac..60aed4b97 100644 --- a/coders/preview.c +++ b/coders/preview.c @@ -68,7 +68,7 @@ Forward declarations. */ static MagickBooleanType - WritePreviewImage(const ImageInfo *,Image *); + WritePreviewImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -151,7 +151,7 @@ ModuleExport void UnregisterPREVIEWImage(void) % The format of the WritePreviewImage method is: % % MagickBooleanType WritePreviewImage(const ImageInfo *image_info, -% Image *image) +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows. % @@ -159,9 +159,11 @@ ModuleExport void UnregisterPREVIEWImage(void) % % o image: The image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType WritePreviewImage(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { Image *preview_image; @@ -181,17 +183,17 @@ static MagickBooleanType WritePreviewImage(const ImageInfo *image_info, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - preview_image=PreviewImage(image,image_info->preview_type,&image->exception); + preview_image=PreviewImage(image,image_info->preview_type,exception); if (preview_image == (Image *) NULL) return(MagickFalse); (void) CopyMagickString(preview_image->filename,image_info->filename, MaxTextExtent); write_info=CloneImageInfo(image_info); - (void) SetImageInfo(write_info,1,&image->exception); + (void) SetImageInfo(write_info,1,exception); if (LocaleCompare(write_info->magick,"PREVIEW") == 0) (void) FormatLocaleString(preview_image->filename,MaxTextExtent, "miff:%s",image_info->filename); - status=WriteImage(write_info,preview_image,&image->exception); + status=WriteImage(write_info,preview_image,exception); preview_image=DestroyImage(preview_image); write_info=DestroyImageInfo(write_info); return(status); diff --git a/coders/ps.c b/coders/ps.c index 9ea57be02..5bad115bc 100644 --- a/coders/ps.c +++ b/coders/ps.c @@ -79,7 +79,7 @@ Forward declarations. */ static MagickBooleanType - WritePSImage(const ImageInfo *,Image *); + WritePSImage(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -994,7 +994,8 @@ ModuleExport void UnregisterPSImage(void) % % The format of the WritePSImage method is: % -% MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePSImage(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -1002,6 +1003,8 @@ ModuleExport void UnregisterPSImage(void) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ static inline size_t MagickMin(const size_t x,const size_t y) @@ -1023,7 +1026,8 @@ static inline unsigned char *PopHexPixel(const char **hex_digits, return(pixels); } -static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { #define WriteRunlengthPacket(image,pixel,length,p) \ { \ @@ -1408,7 +1412,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); (void) ResetMagickMemory(&bounds,0,sizeof(bounds)); @@ -1469,8 +1473,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) scale.y=(double) (geometry.height*delta.y)/resolution.y; geometry.height=(size_t) floor(scale.y+0.5); (void) ParseAbsoluteGeometry(page_geometry,&media_info); - (void) ParseGravityGeometry(image,page_geometry,&page_info, - &image->exception); + (void) ParseGravityGeometry(image,page_geometry,&page_info,exception); if (image->gravity != UndefinedGravity) { geometry.x=(-page_info.x); @@ -1598,7 +1601,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) /* Create preview image. */ - preview_image=CloneImage(image,0,0,MagickTrue,&image->exception); + preview_image=CloneImage(image,0,0,MagickTrue,exception); if (preview_image == (Image *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); /* @@ -1614,7 +1617,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) for (y=0; y < (ssize_t) image->rows; y++) { p=GetVirtualPixels(preview_image,0,y,preview_image->columns,1, - &preview_image->exception); + exception); if (p == (const Quantum *) NULL) break; bit=0; @@ -1737,9 +1740,9 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) index=0; x=0; if ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse)) + (IsImageGray(image,exception) != MagickFalse)) { - if (IsImageMonochrome(image,&image->exception) == MagickFalse) + if (IsImageMonochrome(image,exception) == MagickFalse) { Quantum pixel; @@ -1754,8 +1757,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1803,8 +1805,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; bit=0; @@ -1877,8 +1878,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; GetPixelPacket(image,p,&pixel); @@ -1939,8 +1939,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -2021,8 +2020,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; index=GetPixelIndex(image,p); @@ -2083,8 +2081,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/ps2.c b/coders/ps2.c index ae734eb10..3cced5299 100644 --- a/coders/ps2.c +++ b/coders/ps2.c @@ -83,7 +83,7 @@ Forward declarations. */ static MagickBooleanType - WritePS2Image(const ImageInfo *,Image *); + WritePS2Image(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -172,7 +172,8 @@ ModuleExport void UnregisterPS2Image(void) % % The format of the WritePS2Image method is: % -% MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePS2Image(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -180,6 +181,8 @@ ModuleExport void UnregisterPS2Image(void) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType Huffman2DEncodeImage(const ImageInfo *image_info, @@ -219,7 +222,8 @@ static MagickBooleanType Huffman2DEncodeImage(const ImageInfo *image_info, return(status); } -static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { static const char *PostscriptProlog[]= @@ -457,7 +461,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); compression=image->compression; @@ -469,7 +473,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) case JPEGCompression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (JPEG)", image->filename); break; @@ -533,8 +537,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) scale.y=(double) (geometry.height*delta.y)/resolution.y; geometry.height=(size_t) floor(scale.y+0.5); (void) ParseAbsoluteGeometry(page_geometry,&media_info); - (void) ParseGravityGeometry(image,page_geometry,&page_info, - &image->exception); + (void) ParseGravityGeometry(image,page_geometry,&page_info,exception); if (image->gravity != UndefinedGravity) { geometry.x=(-page_info.x); @@ -722,7 +725,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); if ((compression == FaxCompression) || (compression == Group4Compression) || ((image_info->type != TrueColorType) && - (IsImageGray(image,&image->exception) != MagickFalse))) + (IsImageGray(image,exception) != MagickFalse))) { (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g %.20g\n1\n%d\n", (double) image->columns,(double) image->rows,(int) @@ -752,10 +755,12 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) } case JPEGCompression: { - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -778,8 +783,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -813,8 +817,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -848,10 +851,12 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) { case JPEGCompression: { - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); if (status == MagickFalse) - ThrowWriterException(CoderError,image->exception.reason); + { + (void) CloseBlob(image); + return(MagickFalse); + } break; } case RLECompression: @@ -875,8 +880,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -930,8 +934,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1025,8 +1028,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) q=pixels; for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) @@ -1060,8 +1062,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image) Ascii85Initialize(image); for (y=0; y < (ssize_t) image->rows; y++) { - p=GetVirtualPixels(image,0,y,image->columns,1, - &image->exception); + p=GetVirtualPixels(image,0,y,image->columns,1,exception); if (p == (const Quantum *) NULL) break; for (x=0; x < (ssize_t) image->columns; x++) diff --git a/coders/ps3.c b/coders/ps3.c index 74e723ed1..a8e5e8a70 100644 --- a/coders/ps3.c +++ b/coders/ps3.c @@ -98,7 +98,7 @@ Forward declarations. */ static MagickBooleanType - WritePS3Image(const ImageInfo *,Image *); + WritePS3Image(const ImageInfo *,Image *,ExceptionInfo *); /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -185,7 +185,8 @@ ModuleExport void UnregisterPS3Image(void) % % The format of the WritePS3Image method is: % -% MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) +% MagickBooleanType WritePS3Image(const ImageInfo *image_info, +% Image *image,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -193,6 +194,8 @@ ModuleExport void UnregisterPS3Image(void) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ static MagickBooleanType Huffman2DEncodeImage(const ImageInfo *image_info, @@ -603,7 +606,8 @@ static MagickBooleanType WritePS3MaskImage(const ImageInfo *image_info, return(status); } -static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) +static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, + ExceptionInfo *exception) { static const char *PostscriptProlog[]= @@ -867,7 +871,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(MagickFalse); compression=image->compression; @@ -878,7 +882,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) case FaxCompression: case Group4Compression: { - if ((IsImageMonochrome(image,&image->exception) == MagickFalse) || + if ((IsImageMonochrome(image,exception) == MagickFalse) || (image->matte != MagickFalse)) compression=RLECompression; break; @@ -887,7 +891,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) case JPEGCompression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (JPEG)", image->filename); break; @@ -897,7 +901,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) case ZipCompression: { compression=RLECompression; - (void) ThrowMagickException(&image->exception,GetMagickModule(), + (void) ThrowMagickException(exception,GetMagickModule(), MissingDelegateError,"DelegateLibrarySupportNotBuiltIn","`%s' (ZLIB)", image->filename); break; @@ -961,8 +965,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) scale.y=(double) (geometry.height*delta.y)/resolution.y; geometry.height=(size_t) floor(scale.y+0.5); (void) ParseAbsoluteGeometry(page_geometry,&media_info); - (void) ParseGravityGeometry(image,page_geometry,&page_info, - &image->exception); + (void) ParseGravityGeometry(image,page_geometry,&page_info,exception); if (image->gravity != UndefinedGravity) { geometry.x=(-page_info.x); @@ -1022,7 +1025,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) (void) WriteBlobString(image, "%%DocumentProcessColors: Cyan Magenta Yellow Black\n"); else - if (IsImageGray(image,&image->exception) != MagickFalse) + if (IsImageGray(image,exception) != MagickFalse) (void) WriteBlobString(image, "%%DocumentProcessColors: Black\n"); } @@ -1105,7 +1108,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) (void) WriteBlobString(image, "%%PageProcessColors: Cyan Magenta Yellow Black\n"); else - if (IsImageGray(image,&image->exception) != MagickFalse) + if (IsImageGray(image,exception) != MagickFalse) (void) WriteBlobString(image,"%%PageProcessColors: Black\n"); /* Adjust document bounding box to bound page bounding box. @@ -1230,7 +1233,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) */ option=GetImageOption(image_info,"ps3:imagemask"); (void) WriteBlobString(image,((option != (const char *) NULL) && - (IsImageMonochrome(image,&image->exception) != MagickFalse)) ? + (IsImageMonochrome(image,exception) != MagickFalse)) ? "true\n" : "false\n"); /* Output pixel data. @@ -1242,8 +1245,8 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) (image_info->type != ColorSeparationType) && (image_info->type != ColorSeparationMatteType) && (image->colorspace != CMYKColorspace) && - ((IsImageGray(image,&image->exception) != MagickFalse) || - (IsImageMonochrome(image,&image->exception) != MagickFalse))) + ((IsImageGray(image,exception) != MagickFalse) || + (IsImageMonochrome(image,exception) != MagickFalse))) { /* Gray images. @@ -1292,14 +1295,13 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) 1 bit or 8 bit components? */ (void) FormatLocaleString(buffer,MaxTextExtent,"%d\n", - IsImageMonochrome(image,&image->exception) != MagickFalse ? 1 : 8); + IsImageMonochrome(image,exception) != MagickFalse ? 1 : 8); (void) WriteBlobString(image,buffer); /* Image data. */ if (compression == JPEGCompression) - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); else if ((compression == FaxCompression) || (compression == Group4Compression)) @@ -1389,8 +1391,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) Image data. */ if (compression == JPEGCompression) - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); else { /* @@ -1524,8 +1525,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image) } case JPEGCompression: { - status=InjectImageBlob(image_info,image,image,"jpeg", - &image->exception); + status=InjectImageBlob(image_info,image,image,"jpeg",exception); break; } case RLECompression: