From c45b2bb46c2fa667c9c5a8e00f8278feadfe19ca Mon Sep 17 00:00:00 2001 From: Cristy Date: Sat, 7 Apr 2018 12:32:12 -0400 Subject: [PATCH] ... --- coders/aai.c | 7 +++++-- coders/avs.c | 7 +++++-- coders/bgr.c | 11 +++++++---- coders/bmp.c | 8 +++----- coders/cmyk.c | 5 +++-- coders/dcm.c | 2 +- coders/debug.c | 7 +++++-- coders/fax.c | 7 +++++-- coders/flif.c | 7 +++---- coders/gif.c | 5 +++-- coders/gray.c | 5 +++-- coders/icon.c | 5 +++-- coders/info.c | 7 +++++-- coders/ipl.c | 9 ++++++--- coders/jbig.c | 5 +++-- coders/json.c | 7 +++++-- coders/mat.c | 7 +++++-- coders/miff.c | 5 +++-- coders/mpc.c | 6 ++++-- coders/mtv.c | 7 +++++-- coders/palm.c | 5 +++-- coders/pcl.c | 5 +++-- coders/pcx.c | 5 +++-- coders/pdf.c | 5 +++-- coders/pix.c | 10 +++++++++- coders/png.c | 5 +++-- coders/pnm.c | 5 +++-- coders/ps.c | 11 ++++++----- coders/ps2.c | 7 ++++--- coders/ps3.c | 7 ++++--- coders/psd.c | 10 +++++++--- coders/raw.c | 5 +++-- coders/rgb.c | 5 +++-- coders/sgi.c | 7 +++++-- coders/sun.c | 7 +++++-- coders/tiff.c | 11 ++++++----- coders/txt.c | 7 +++++-- coders/viff.c | 7 +++++-- coders/ycbcr.c | 5 +++-- coders/yuv.c | 5 +++-- 40 files changed, 168 insertions(+), 95 deletions(-) diff --git a/coders/aai.c b/coders/aai.c index ff380fa9b..37e185fad 100644 --- a/coders/aai.c +++ b/coders/aai.c @@ -341,6 +341,9 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image, register unsigned char *magick_restrict q; + size_t + imageListLength; + ssize_t count, y; @@ -363,6 +366,7 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -414,8 +418,7 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/avs.c b/coders/avs.c index b4ecb5eb6..43ec043d1 100644 --- a/coders/avs.c +++ b/coders/avs.c @@ -343,6 +343,9 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image, register unsigned char *magick_restrict q; + size_t + imageListLength; + ssize_t count, y; @@ -365,6 +368,7 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -413,8 +417,7 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/bgr.c b/coders/bgr.c index 308775297..aecfca434 100644 --- a/coders/bgr.c +++ b/coders/bgr.c @@ -1123,6 +1123,9 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, size_t length; + size_t + imageListLength; + ssize_t count, y; @@ -1145,8 +1148,8 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, Open output image file. */ assert(exception != (ExceptionInfo *) NULL); - assert(exception->signature == MagickCoreSignature); - status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); + assert(exception->signature == MagickCoreSignature); + status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception); if (status == MagickFalse) return(status); } @@ -1157,6 +1160,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, image->alpha_trait=BlendPixelTrait; } scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1474,8 +1478,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/bmp.c b/coders/bmp.c index 6a9912b6f..e1f2c2b3e 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -1615,6 +1615,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, size_t bytes_per_line, + imageListLength, type; ssize_t @@ -1644,13 +1645,11 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, else if (LocaleCompare(image_info->magick,"BMP3") == 0) type=3; - option=GetImageOption(image_info,"bmp:format"); if (option != (char *) NULL) { (void) LogMagickEvent(CoderEvent,GetMagickModule(), " Format=%s",option); - if (LocaleCompare(option,"bmp2") == 0) type=2; if (LocaleCompare(option,"bmp3") == 0) @@ -1658,8 +1657,8 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, if (LocaleCompare(option,"bmp4") == 0) type=4; } - scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -2345,8 +2344,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/cmyk.c b/coders/cmyk.c index cd14c076d..e3ef431a1 100644 --- a/coders/cmyk.c +++ b/coders/cmyk.c @@ -1227,6 +1227,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, quantum_type; size_t + imageListLength, length; ssize_t @@ -1255,6 +1256,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, return(status); } scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1627,8 +1629,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/dcm.c b/coders/dcm.c index 879304c79..389066498 100644 --- a/coders/dcm.c +++ b/coders/dcm.c @@ -3491,7 +3491,7 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception) if (info.significant_bits > 8) info.bytes_per_pixel=2; info.depth=info.significant_bits; - if ((info.depth == 0) || (info.depth > 32)) + if ((info.depth == 0) || (info.depth > 16)) ThrowDCMException(CorruptImageError,"ImproperImageHeader"); info.max_value=(1UL << info.significant_bits)-1; info.mask=(size_t) GetQuantumRange(info.significant_bits); diff --git a/coders/debug.c b/coders/debug.c index a3340730a..a2a038f5b 100644 --- a/coders/debug.c +++ b/coders/debug.c @@ -187,6 +187,9 @@ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, register ssize_t x; + size_t + imageListLength; + /* Open output image file. */ @@ -200,6 +203,7 @@ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { (void) CopyMagickString(colorspace,CommandOptionToMnemonic( @@ -257,8 +261,7 @@ static MagickBooleanType WriteDEBUGImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/fax.c b/coders/fax.c index f7f44ca8d..c9f62291d 100644 --- a/coders/fax.c +++ b/coders/fax.c @@ -362,6 +362,9 @@ static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image, MagickOffsetType scene; + size_t + imageListLength; + /* Open output image file. */ @@ -379,6 +382,7 @@ static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image, write_info=CloneImageInfo(image_info); (void) CopyMagickString(write_info->magick,"FAX",MagickPathExtent); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -389,8 +393,7 @@ static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (write_info->adjoin != MagickFalse); diff --git a/coders/flif.c b/coders/flif.c index f7018c558..5c0b770ed 100644 --- a/coders/flif.c +++ b/coders/flif.c @@ -409,6 +409,7 @@ static MagickBooleanType WriteFLIFImage(const ImageInfo *image_info, size_t columns, + imageListLength, length, rows; @@ -469,7 +470,7 @@ static MagickBooleanType WriteFLIFImage(const ImageInfo *image_info, ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); } scene=0; - + imageListLength=GetImageListLength(image); do { for (y=0; y < (ssize_t) image->rows; y++) @@ -525,12 +526,10 @@ static MagickBooleanType WriteFLIFImage(const ImageInfo *image_info, ThrowWriterException(ImageError,"FramesNotSameDimensions"); } scene++; - status=SetImageProgress(image,SaveImagesTag,scene,GetImageListLength( - image)); + status=SetImageProgress(image,SaveImagesTag,scene,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); - flif_destroy_image(flifimage); pixels=RelinquishMagickMemory(pixels); flif_status=flif_encoder_encode_memory(flifenc,&buffer,&length); diff --git a/coders/gif.c b/coders/gif.c index 6e421973b..25aab9136 100644 --- a/coders/gif.c +++ b/coders/gif.c @@ -1522,6 +1522,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image, size_t bits_per_pixel, delay, + imageListLength, length, one; @@ -1597,6 +1598,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image, write_info->interlace=NoInterlace; scene=0; one=1; + imageListLength=GetImageListLength(image); do { (void) TransformImageColorspace(image,sRGBColorspace,exception); @@ -1924,8 +1926,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image, break; image=SyncNextImageInList(image); scene++; - status=SetImageProgress(image,SaveImagesTag,scene, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene,imageListLength); if (status == MagickFalse) break; } while (write_info->adjoin != MagickFalse); diff --git a/coders/gray.c b/coders/gray.c index ec4f29945..487a2ce96 100644 --- a/coders/gray.c +++ b/coders/gray.c @@ -824,6 +824,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, quantum_type; size_t + imageListLength, length; ssize_t @@ -855,6 +856,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, if (LocaleCompare(image_info->magick,"GRAYA") == 0) quantum_type=GrayAlphaQuantum; scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1070,8 +1072,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/icon.c b/coders/icon.c index a2268c8e9..f7bb8a89a 100644 --- a/coders/icon.c +++ b/coders/icon.c @@ -901,6 +901,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, size_t bytes_per_line, + imageListLength, scanline_pad; ssize_t @@ -971,6 +972,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, } while ((next != (Image *) NULL) && (image_info->adjoin != MagickFalse)); scene=0; next=(images != (Image *) NULL) ? images : image; + imageListLength=GetImageListLength(image); do { if ((next->columns > 255L) && (next->rows > 255L) && @@ -1363,8 +1365,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info, } if (GetNextImageInList(next) == (Image *) NULL) break; - status=SetImageProgress(next,SaveImagesTag,scene++, - GetImageListLength(next)); + status=SetImageProgress(next,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; next=SyncNextImageInList(next); diff --git a/coders/info.c b/coders/info.c index 17696bb41..fbeb5e2e1 100644 --- a/coders/info.c +++ b/coders/info.c @@ -166,6 +166,9 @@ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, MagickOffsetType scene; + size_t + imageListLength; + /* Open output image file. */ @@ -179,6 +182,7 @@ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { format=GetImageOption(image_info,"format"); @@ -207,8 +211,7 @@ static MagickBooleanType WriteINFOImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/ipl.c b/coders/ipl.c index e29dac7cd..fe69900cc 100644 --- a/coders/ipl.c +++ b/coders/ipl.c @@ -523,6 +523,9 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image, QuantumInfo *quantum_info; + size_t + imageListLength; + ssize_t y; @@ -579,7 +582,8 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image, break; } - ipl_info.z = (unsigned int) GetImageListLength(image); + imageListLength=GetImageListLength(image); + ipl_info.z = (unsigned int) imageListLength; /* There is no current method for detecting whether we have T or Z stacks */ ipl_info.time = 1; ipl_info.width = (unsigned int) image->columns; @@ -679,8 +683,7 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; }while (image_info->adjoin != MagickFalse); diff --git a/coders/jbig.c b/coders/jbig.c index e798723bf..404680b48 100644 --- a/coders/jbig.c +++ b/coders/jbig.c @@ -429,6 +429,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, *q; size_t + imageListLength, number_packets; ssize_t @@ -458,6 +459,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, return(status); version=StringToDouble(JBG_VERSION,(char **) NULL); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -555,8 +557,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/json.c b/coders/json.c index 332b93ee5..d68aeaac5 100644 --- a/coders/json.c +++ b/coders/json.c @@ -1691,6 +1691,9 @@ static MagickBooleanType WriteJSONImage(const ImageInfo *image_info, MagickOffsetType scene; + size_t + imageListLength; + /* Open output image file. */ @@ -1707,6 +1710,7 @@ static MagickBooleanType WriteJSONImage(const ImageInfo *image_info, if (file == (FILE *) NULL) file=stdout; scene=0; + imageListLength=GetImageListLength(image); do { if (scene == 0) @@ -1721,8 +1725,7 @@ static MagickBooleanType WriteJSONImage(const ImageInfo *image_info, } (void) WriteBlobString(image,",\n"); image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/mat.c b/coders/mat.c index 1cbb59696..a1531bc4a 100644 --- a/coders/mat.c +++ b/coders/mat.c @@ -1560,6 +1560,9 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image, MagickOffsetType scene; + size_t + imageListLength; + struct tm local_time; @@ -1599,6 +1602,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image, MATLAB_HDR[0x7F]='M'; (void) WriteBlob(image,sizeof(MATLAB_HDR),(unsigned char *) MATLAB_HDR); scene=0; + imageListLength=GetImageListLength(image); do { char @@ -1686,8 +1690,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/miff.c b/coders/miff.c index 5c9e842f8..6ceb48746 100644 --- a/coders/miff.c +++ b/coders/miff.c @@ -2023,6 +2023,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, i; size_t + imageListLength, length, packet_size; @@ -2054,6 +2055,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -2769,8 +2771,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++,GetImageListLength( - image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/mpc.c b/coders/mpc.c index d515003e5..b6e36763c 100644 --- a/coders/mpc.c +++ b/coders/mpc.c @@ -1140,7 +1140,8 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image, i; size_t - depth; + depth, + imageListLength; /* Open persistent cache. @@ -1160,6 +1161,7 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image, AppendImageFormat("cache",cache_filename); scene=0; offset=0; + imageListLength=GetImageListLength(image); do { /* @@ -1530,7 +1532,7 @@ static MagickBooleanType WriteMPCImage(const ImageInfo *image_info,Image *image, if (image->progress_monitor != (MagickProgressMonitor) NULL) { status=image->progress_monitor(SaveImagesTag,scene, - GetImageListLength(image),image->client_data); + imageListLength,image->client_data); if (status == MagickFalse) break; } diff --git a/coders/mtv.c b/coders/mtv.c index ae3ebeef6..04895567f 100644 --- a/coders/mtv.c +++ b/coders/mtv.c @@ -346,6 +346,9 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image, register unsigned char *q; + size_t + imageListLength; + ssize_t y; @@ -367,6 +370,7 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -409,8 +413,7 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene,imageListLength); if (status == MagickFalse) break; scene++; diff --git a/coders/palm.c b/coders/palm.c index 3210cb61c..c7aa8b0ea 100644 --- a/coders/palm.c +++ b/coders/palm.c @@ -719,6 +719,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, count, bits_per_pixel, bytes_per_row, + imageListLength, nextDepthOffset, one; @@ -763,6 +764,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, one=1; version=0; scene=0; + imageListLength=GetImageListLength(image); do { (void) TransformImageColorspace(image,sRGBColorspace,exception); @@ -1022,8 +1024,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info, currentOffset=(MagickOffsetType) GetBlobSize(image); offset=SeekBlob(image,currentOffset,SEEK_SET); image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/pcl.c b/coders/pcl.c index 088645b6e..421b46043 100644 --- a/coders/pcl.c +++ b/coders/pcl.c @@ -677,6 +677,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, size_t density, + imageListLength, length, one, packets; @@ -715,6 +716,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, } scene=0; one=1; + imageListLength=GetImageListLength(image); do { /* @@ -973,8 +975,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/pcx.c b/coders/pcx.c index 0c4593bfc..80008e691 100644 --- a/coders/pcx.c +++ b/coders/pcx.c @@ -885,6 +885,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image, *q; size_t + imageListLength, length; ssize_t @@ -928,6 +929,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image, (void) WriteBlobLSBLong(image,0x00000000L); } scene=0; + imageListLength=GetImageListLength(image); do { if (page_table != (MagickOffsetType *) NULL) @@ -1175,8 +1177,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/pdf.c b/coders/pdf.c index 109196ba5..c858836dd 100644 --- a/coders/pdf.c +++ b/coders/pdf.c @@ -1320,6 +1320,7 @@ RestoreMSCWarning size_t channels, + imageListLength, info_id, length, object, @@ -1511,6 +1512,7 @@ RestoreMSCWarning (void) WriteBlobString(image,">>\n"); (void) WriteBlobString(image,"endobj\n"); scene=0; + imageListLength=GetImageListLength(image); do { MagickBooleanType @@ -2939,8 +2941,7 @@ RestoreMSCWarning if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/pix.c b/coders/pix.c index 7c8a42065..e0f43baad 100644 --- a/coders/pix.c +++ b/coders/pix.c @@ -176,7 +176,13 @@ static Image *ReadPIXImage(const ImageInfo *image_info,ExceptionInfo *exception) { if (length == 0) { - length=(size_t) ReadBlobByte(image); + int + c; + + c=ReadBlobByte(image); + if ((c == 0) || (c == EOF)) + break; + length=(size_t) c; if (bits_per_pixel == 8) index=ScaleCharToQuantum((unsigned char) ReadBlobByte(image)); else @@ -194,6 +200,8 @@ static Image *ReadPIXImage(const ImageInfo *image_info,ExceptionInfo *exception) length--; q+=GetPixelChannels(image); } + if (x < (ssize_t) image->columns) + break; if (SyncAuthenticPixels(image,exception) == MagickFalse) break; if (image->previous == (Image *) NULL) diff --git a/coders/png.c b/coders/png.c index 2cc4c38ee..2d49cd232 100644 --- a/coders/png.c +++ b/coders/png.c @@ -13375,6 +13375,7 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info, size_t final_delay=0, + imageListLength, initial_delay; #if (PNG_LIBPNG_VER < 10200) @@ -13988,6 +13989,7 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info, defined(PNG_MNG_FEATURES_SUPPORTED) mng_info->equal_palettes=MagickFalse; #endif + imageListLength=GetImageListLength(image); do { if (mng_info->adjoin) @@ -14173,8 +14175,7 @@ static MagickBooleanType WriteMNGImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; diff --git a/coders/pnm.c b/coders/pnm.c index d72e14d53..d3a5d092b 100644 --- a/coders/pnm.c +++ b/coders/pnm.c @@ -1519,6 +1519,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, size_t extent, + imageListLength, packet_size; ssize_t @@ -1540,6 +1541,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { QuantumAny @@ -2431,8 +2433,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/ps.c b/coders/ps.c index 98f187469..f36f40056 100644 --- a/coders/ps.c +++ b/coders/ps.c @@ -1552,6 +1552,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image, size_t bit, byte, + imageListLength, length, page, text_size; @@ -1586,6 +1587,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image, compression=image_info->compression; page=1; scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1742,9 +1744,9 @@ RestoreMSCWarning */ (void) WriteBlobString(image,"%%Orientation: Portrait\n"); (void) WriteBlobString(image,"%%PageOrder: Ascend\n"); - (void) FormatLocaleString(buffer,MagickPathExtent,"%%%%Pages: %.20g\n", - image_info->adjoin != MagickFalse ? (double) - GetImageListLength(image) : 1.0); + (void) FormatLocaleString(buffer,MagickPathExtent, + "%%%%Pages: %.20g\n",image_info->adjoin != MagickFalse ? + (double) imageListLength : 1.0); (void) WriteBlobString(image,buffer); } (void) WriteBlobString(image,"%%EndComments\n"); @@ -2292,8 +2294,7 @@ RestoreMSCWarning if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/ps2.c b/coders/ps2.c index 105e69956..a06066c3e 100644 --- a/coders/ps2.c +++ b/coders/ps2.c @@ -438,6 +438,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, bounds; size_t + imageListLength, length, page, text_size; @@ -487,6 +488,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, (void) memset(&bounds,0,sizeof(bounds)); page=1; scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -606,7 +608,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, (void) CopyMagickString(buffer,"%%Pages: 1\n",MagickPathExtent); else (void) FormatLocaleString(buffer,MagickPathExtent, - "%%%%Pages: %.20g\n",(double) GetImageListLength(image)); + "%%%%Pages: %.20g\n",(double) imageListLength); (void) WriteBlobString(image,buffer); } if (image->colorspace == CMYKColorspace) @@ -1118,8 +1120,7 @@ static MagickBooleanType WritePS2Image(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/ps3.c b/coders/ps3.c index b8d783269..1a60d2422 100644 --- a/coders/ps3.c +++ b/coders/ps3.c @@ -866,6 +866,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, bounds; size_t + imageListLength, length, page, pixel, @@ -933,6 +934,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, (void) memset(&bounds,0,sizeof(bounds)); page=0; scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1070,7 +1072,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, (void) CopyMagickString(buffer,"%%Pages: 1\n",MagickPathExtent); else (void) FormatLocaleString(buffer,MagickPathExtent, - "%%%%Pages: %.20g\n",(double) GetImageListLength(image)); + "%%%%Pages: %.20g\n",(double) imageListLength); (void) WriteBlobString(image,buffer); } if (image->colorspace == CMYKColorspace) @@ -1600,8 +1602,7 @@ static MagickBooleanType WritePS3Image(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/psd.c b/coders/psd.c index f0c39d80b..424ccb124 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -2075,6 +2075,9 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception) register ssize_t i; + size_t + imageListLength; + ssize_t count; @@ -2321,10 +2324,11 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception) if (image->debug != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), " reading the precombined layer"); - if ((has_merged_image != MagickFalse) || (GetImageListLength(image) == 1)) + imageListLength=GetImageListLength(image); + if ((has_merged_image != MagickFalse) || (imageListLength == 1)) has_merged_image=(MagickBooleanType) ReadPSDMergedImage(image_info,image, &psd_info,exception); - if ((has_merged_image == MagickFalse) && (GetImageListLength(image) == 1) && + if ((has_merged_image == MagickFalse) && (imageListLength == 1) && (length != 0)) { SeekBlob(image,offset,SEEK_SET); @@ -2344,7 +2348,7 @@ static Image *ReadPSDImage(const ImageInfo *image_info,ExceptionInfo *exception) Image *merged; - if (GetImageListLength(image) == 1) + if (imageListLength == 1) { if (profile != (StringInfo *) NULL) profile=DestroyStringInfo(profile); diff --git a/coders/raw.c b/coders/raw.c index b7b4e39c2..446c525c5 100644 --- a/coders/raw.c +++ b/coders/raw.c @@ -465,6 +465,7 @@ static MagickBooleanType WriteRAWImage(const ImageInfo *image_info,Image *image, *p; size_t + imageListLength, length; ssize_t @@ -565,6 +566,7 @@ static MagickBooleanType WriteRAWImage(const ImageInfo *image_info,Image *image, } } scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -596,8 +598,7 @@ static MagickBooleanType WriteRAWImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/rgb.c b/coders/rgb.c index f3dc377ec..8e4c72a10 100644 --- a/coders/rgb.c +++ b/coders/rgb.c @@ -1108,6 +1108,7 @@ static MagickBooleanType WriteRGBImage(const ImageInfo *image_info, quantum_type; size_t + imageListLength, length; ssize_t @@ -1141,6 +1142,7 @@ static MagickBooleanType WriteRGBImage(const ImageInfo *image_info, if (LocaleCompare(image_info->magick,"RGBO") == 0) quantum_type=RGBOQuantum; scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1465,8 +1467,7 @@ static MagickBooleanType WriteRGBImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/sgi.c b/coders/sgi.c index 5660bbea9..142035d9f 100644 --- a/coders/sgi.c +++ b/coders/sgi.c @@ -927,6 +927,9 @@ static MagickBooleanType WriteSGIImage(const ImageInfo *image_info,Image *image, register unsigned char *q; + size_t + imageListLength; + ssize_t y, z; @@ -952,6 +955,7 @@ static MagickBooleanType WriteSGIImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1175,8 +1179,7 @@ static MagickBooleanType WriteSGIImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/sun.c b/coders/sun.c index c78fbc0ae..edf5a8397 100644 --- a/coders/sun.c +++ b/coders/sun.c @@ -795,6 +795,9 @@ static MagickBooleanType WriteSUNImage(const ImageInfo *image_info,Image *image, i, x; + size_t + imageListLength; + ssize_t y; @@ -816,6 +819,7 @@ static MagickBooleanType WriteSUNImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1028,8 +1032,7 @@ static MagickBooleanType WriteSUNImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/tiff.c b/coders/tiff.c index 589a87a01..38dcfe587 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -3422,6 +3422,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, i; size_t + imageListLength, length; ssize_t @@ -3480,6 +3481,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, debug=IsEventLogging(); (void) debug; adjoin=image_info->adjoin; + imageListLength=GetImageListLength(image); do { /* @@ -3944,12 +3946,12 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, adjoin=MagickFalse; } if ((LocaleCompare(image_info->magick,"PTIF") != 0) && - (adjoin != MagickFalse) && (GetImageListLength(image) > 1)) + (adjoin != MagickFalse) && (imageListLength > 1)) { (void) TIFFSetField(tiff,TIFFTAG_SUBFILETYPE,FILETYPE_PAGE); if (image->scene != 0) (void) TIFFSetField(tiff,TIFFTAG_PAGENUMBER,(uint16) image->scene, - GetImageListLength(image)); + imageListLength); } if (image->orientation != UndefinedOrientation) (void) TIFFSetField(tiff,TIFFTAG_ORIENTATION,(uint16) image->orientation); @@ -3960,7 +3962,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, pages; page=(uint16) scene; - pages=(uint16) GetImageListLength(image); + pages=(uint16) imageListLength; if ((LocaleCompare(image_info->magick,"PTIF") != 0) && (adjoin != MagickFalse) && (pages > 1)) (void) TIFFSetField(tiff,TIFFTAG_SUBFILETYPE,FILETYPE_PAGE); @@ -4231,8 +4233,7 @@ RestoreMSCWarning image=SyncNextImageInList(image); if (image == (Image *) NULL) break; - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (adjoin != MagickFalse); diff --git a/coders/txt.c b/coders/txt.c index 4937a7b08..a87100f73 100644 --- a/coders/txt.c +++ b/coders/txt.c @@ -729,6 +729,9 @@ static MagickBooleanType WriteTXTImage(const ImageInfo *image_info,Image *image, register ssize_t x; + size_t + imageListLength; + ssize_t y; @@ -745,6 +748,7 @@ static MagickBooleanType WriteTXTImage(const ImageInfo *image_info,Image *image, if (status == MagickFalse) return(status); scene=0; + imageListLength=GetImageListLength(image); do { ComplianceType @@ -857,8 +861,7 @@ static MagickBooleanType WriteTXTImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/viff.c b/coders/viff.c index 64705645a..92809e4bc 100644 --- a/coders/viff.c +++ b/coders/viff.c @@ -961,6 +961,9 @@ static MagickBooleanType WriteVIFFImage(const ImageInfo *image_info, register unsigned char *q; + size_t + imageListLength; + ssize_t y; @@ -986,6 +989,7 @@ static MagickBooleanType WriteVIFFImage(const ImageInfo *image_info, return(status); (void) memset(&viff_info,0,sizeof(ViffInfo)); scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1259,8 +1263,7 @@ RestoreMSCWarning if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/ycbcr.c b/coders/ycbcr.c index da6e238e0..1c323ef19 100644 --- a/coders/ycbcr.c +++ b/coders/ycbcr.c @@ -1102,6 +1102,7 @@ static MagickBooleanType WriteYCBCRImage(const ImageInfo *image_info, *p; size_t + imageListLength, length; ssize_t @@ -1138,6 +1139,7 @@ static MagickBooleanType WriteYCBCRImage(const ImageInfo *image_info, image->alpha_trait=BlendPixelTrait; } scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -1419,8 +1421,7 @@ static MagickBooleanType WriteYCBCRImage(const ImageInfo *image_info, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); diff --git a/coders/yuv.c b/coders/yuv.c index df3d2b0eb..8c6d79a8c 100644 --- a/coders/yuv.c +++ b/coders/yuv.c @@ -633,6 +633,7 @@ static MagickBooleanType WriteYUVImage(const ImageInfo *image_info,Image *image, size_t height, + imageListLength, quantum, width; @@ -692,6 +693,7 @@ static MagickBooleanType WriteYUVImage(const ImageInfo *image_info,Image *image, return(status); } scene=0; + imageListLength=GetImageListLength(image); do { /* @@ -882,8 +884,7 @@ static MagickBooleanType WriteYUVImage(const ImageInfo *image_info,Image *image, if (GetNextImageInList(image) == (Image *) NULL) break; image=SyncNextImageInList(image); - status=SetImageProgress(image,SaveImagesTag,scene++, - GetImageListLength(image)); + status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength); if (status == MagickFalse) break; } while (image_info->adjoin != MagickFalse); -- 2.40.0