From a403727ea73ef5840a476a3c4614445807f42827 Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 28 Aug 2011 15:11:39 +0000 Subject: [PATCH] --- MagickCore/constitute.c | 6 ++-- MagickCore/identify.c | 60 ++++++++++++++++++--------------------- MagickCore/identify.h | 2 +- MagickCore/xwindow.c | 2 +- MagickWand/identify.c | 2 +- MagickWand/magick-image.c | 2 +- MagickWand/mogrify.c | 4 +-- PerlMagick/Magick.xs | 2 +- coders/info.c | 2 +- 9 files changed, 39 insertions(+), 43 deletions(-) diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c index b34edadbc..acfba2688 100644 --- a/MagickCore/constitute.c +++ b/MagickCore/constitute.c @@ -275,7 +275,7 @@ MagickExport Image *PingImage(const ImageInfo *image_info, { ResetTimer(&image->timer); if (ping_info->verbose != MagickFalse) - (void) IdentifyImage(image,stdout,MagickFalse); + (void) IdentifyImage(image,stdout,MagickFalse,exception); } ping_info=DestroyImageInfo(ping_info); return(image); @@ -786,7 +786,7 @@ MagickExport Image *ReadImage(const ImageInfo *image_info, next->dispose=(DisposeType) ParseCommandOption(MagickDisposeOptions, MagickFalse,option); if (read_info->verbose != MagickFalse) - (void) IdentifyImage(next,stderr,MagickFalse); + (void) IdentifyImage(next,stderr,MagickFalse,exception); image=next; } read_info=DestroyImageInfo(read_info); @@ -1216,7 +1216,7 @@ MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, } if ((LocaleCompare(write_info->magick,"info") != 0) && (write_info->verbose != MagickFalse)) - (void) IdentifyImage(image,stdout,MagickFalse); + (void) IdentifyImage(image,stdout,MagickFalse,&image->exception); write_info=DestroyImageInfo(write_info); return(status); } diff --git a/MagickCore/identify.c b/MagickCore/identify.c index 19e316db1..b9fe6642d 100644 --- a/MagickCore/identify.c +++ b/MagickCore/identify.c @@ -131,7 +131,7 @@ % The format of the IdentifyImage method is: % % MagickBooleanType IdentifyImage(Image *image,FILE *file, -% const MagickBooleanType verbose) +% const MagickBooleanType verbose,ExceptionInfo *exception) % % A description of each parameter follows: % @@ -142,6 +142,8 @@ % o verbose: A value other than zero prints more detailed information % about the image. % +% o exception: return any errors or warnings in this structure. +% */ static ssize_t PrintChannelFeatures(FILE *file,const ChannelType channel, @@ -230,7 +232,7 @@ static ssize_t PrintChannelStatistics(FILE *file,const ChannelType channel, } MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, - const MagickBooleanType verbose) + const MagickBooleanType verbose,ExceptionInfo *exception) { char color[MaxTextExtent], @@ -260,9 +262,6 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, elapsed_time, user_time; - ExceptionInfo - *exception; - ImageType type; @@ -362,11 +361,9 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, /* Display verbose info about the image. */ - exception=AcquireExceptionInfo(); p=GetVirtualPixels(image,0,0,1,1,exception); - exception=DestroyExceptionInfo(exception); ping=p == (const Quantum *) NULL ? MagickTrue : MagickFalse; - type=GetImageType(image,&image->exception); + type=GetImageType(image,exception); (void) SignatureImage(image); (void) FormatLocaleFile(file,"Image: %s\n",image->filename); if (*image->magick_filename != '\0') @@ -378,7 +375,7 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, GetPathComponent(image->magick_filename,TailPath,filename); (void) FormatLocaleFile(file," Base filename: %s\n",filename); } - magick_info=GetMagickInfo(image->magick,&image->exception); + magick_info=GetMagickInfo(image->magick,exception); if ((magick_info == (const MagickInfo *) NULL) || (*GetMagickDescription(magick_info) == '\0')) (void) FormatLocaleFile(file," Format: %s\n",image->magick); @@ -425,15 +422,14 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, size_t depth; - channel_statistics=GetImageStatistics(image,&image->exception); + channel_statistics=GetImageStatistics(image,exception); artifact=GetImageArtifact(image,"identify:features"); if (artifact != (const char *) NULL) { distance=StringToUnsignedLong(artifact); - channel_features=GetImageFeatures(image,distance, - &image->exception); + channel_features=GetImageFeatures(image,distance,exception); } - depth=GetImageDepth(image,&image->exception); + depth=GetImageDepth(image,exception); if (image->depth == depth) (void) FormatLocaleFile(file," Depth: %.20g-bit\n",(double) image->depth); @@ -441,7 +437,7 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, (void) FormatLocaleFile(file," Depth: %.20g/%.20g-bit\n",(double) image->depth,(double) depth); (void) FormatLocaleFile(file," Channel depth:\n"); - if (IsImageGray(image,&image->exception) != MagickFalse) + if (IsImageGray(image,exception) != MagickFalse) colorspace=GRAYColorspace; switch (colorspace) { @@ -604,29 +600,30 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, GetPixelInfo(image,&pixel); SetPixelInfo(image,p,&pixel); (void) QueryMagickColorname(image,&pixel,SVGCompliance,tuple, - &image->exception); + exception); (void) FormatLocaleFile(file," Alpha: %s ",tuple); GetColorTuple(&pixel,MagickTrue,tuple); (void) FormatLocaleFile(file," %s\n",tuple); } } artifact=GetImageArtifact(image,"identify:unique-colors"); - if (IsHistogramImage(image,&image->exception) != MagickFalse) + if (IsHistogramImage(image,exception) != MagickFalse) { (void) FormatLocaleFile(file," Colors: %.20g\n",(double) - GetNumberColors(image,(FILE *) NULL,&image->exception)); + GetNumberColors(image,(FILE *) NULL,exception)); (void) FormatLocaleFile(file," Histogram:\n"); - (void) GetNumberColors(image,file,&image->exception); + (void) GetNumberColors(image,file,exception); } else if ((artifact != (const char *) NULL) && (IsMagickTrue(artifact) != MagickFalse)) (void) FormatLocaleFile(file," Colors: %.20g\n",(double) - GetNumberColors(image,(FILE *) NULL,&image->exception)); + GetNumberColors(image,(FILE *) NULL,exception)); } if (image->storage_class == PseudoClass) { - (void) FormatLocaleFile(file," Colormap: %.20g\n",(double) image->colors); + (void) FormatLocaleFile(file," Colormap: %.20g\n",(double) + image->colors); if (image->colors <= 1024) { char @@ -668,7 +665,7 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, } (void) ConcatenateMagickString(tuple,")",MaxTextExtent); (void) QueryMagickColorname(image,&pixel,SVGCompliance,color, - &image->exception); + exception); GetColorTuple(&pixel,MagickTrue,hex); (void) FormatLocaleFile(file," %8ld: %s %s %s\n",(long) i,tuple, hex,color); @@ -716,16 +713,16 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, (void) FormatLocaleFile(file," Interlace: %s\n",CommandOptionToMnemonic( MagickInterlaceOptions,(ssize_t) image->interlace)); (void) QueryColorname(image,&image->background_color,SVGCompliance,color, - &image->exception); + exception); (void) FormatLocaleFile(file," Background color: %s\n",color); (void) QueryColorname(image,&image->border_color,SVGCompliance,color, - &image->exception); + exception); (void) FormatLocaleFile(file," Border color: %s\n",color); (void) QueryColorname(image,&image->matte_color,SVGCompliance,color, - &image->exception); + exception); (void) FormatLocaleFile(file," Matte color: %s\n",color); (void) QueryColorname(image,&image->transparent_color,SVGCompliance,color, - &image->exception); + exception); (void) FormatLocaleFile(file," Transparent color: %s\n",color); (void) FormatLocaleFile(file," Compose: %s\n",CommandOptionToMnemonic( MagickComposeOptions,(ssize_t) image->compose)); @@ -789,7 +786,7 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, p=q; (void) FormatLocaleFile(file," %s",image_info->filename); handler=SetWarningHandler((WarningHandler) NULL); - tile=ReadImage(image_info,&image->exception); + tile=ReadImage(image_info,exception); (void) SetWarningHandler(handler); if (tile == (Image *) NULL) { @@ -992,8 +989,8 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, length|=GetStringInfoDatum(profile)[i++]; attribute=(char *) NULL; if (~length >= (MaxTextExtent-1)) - attribute=(char *) AcquireQuantumMemory(length+ - MaxTextExtent,sizeof(*attribute)); + attribute=(char *) AcquireQuantumMemory(length+MaxTextExtent, + sizeof(*attribute)); if (attribute != (char *) NULL) { (void) CopyMagickString(attribute,(char *) @@ -1049,7 +1046,7 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, { (void) FormatLocaleFile(file," %s: ",registry); value=(const char *) GetImageRegistry(StringRegistryType,registry, - &image->exception); + exception); if (value != (const char *) NULL) (void) FormatLocaleFile(file,"%s\n",value); registry=GetNextImageRegistry(); @@ -1067,9 +1064,8 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, (void) FormatLocaleFile(file," Pixels per second: %s\n",format); (void) FormatLocaleFile(file," User time: %0.3fu\n",user_time); (void) FormatLocaleFile(file," Elapsed time: %lu:%02lu.%03lu\n", - (unsigned long) (elapsed_time/60.0),(unsigned long) ceil(fmod( - elapsed_time,60.0)),(unsigned long) (1000.0*(elapsed_time-floor( - elapsed_time)))); + (unsigned long) (elapsed_time/60.0),(unsigned long) ceil(fmod(elapsed_time, + 60.0)),(unsigned long) (1000.0*(elapsed_time-floor(elapsed_time)))); (void) FormatLocaleFile(file," Version: %s\n",GetMagickVersion((size_t *) NULL)); (void) fflush(file); diff --git a/MagickCore/identify.h b/MagickCore/identify.h index 28d274dd3..b41f526f9 100644 --- a/MagickCore/identify.h +++ b/MagickCore/identify.h @@ -23,7 +23,7 @@ extern "C" { #endif extern MagickExport MagickBooleanType - IdentifyImage(Image *,FILE *,const MagickBooleanType); + IdentifyImage(Image *,FILE *,const MagickBooleanType,ExceptionInfo *); #if defined(__cplusplus) || defined(c_plusplus) } diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c index 96528c066..ee23c3f09 100644 --- a/MagickCore/xwindow.c +++ b/MagickCore/xwindow.c @@ -2046,7 +2046,7 @@ MagickExport void XDisplayImageInfo(Display *display, /* Write info about the image to a file. */ - (void) IdentifyImage(image,file,MagickTrue); + (void) IdentifyImage(image,file,MagickTrue,&image->exception); (void) fclose(file); text=FileToString(filename,~0,&image->exception); (void) RelinquishUniqueFileResource(filename); diff --git a/MagickWand/identify.c b/MagickWand/identify.c index 25f8517de..be8aacf0a 100644 --- a/MagickWand/identify.c +++ b/MagickWand/identify.c @@ -330,7 +330,7 @@ WandExport MagickBooleanType IdentifyImageCommand(ImageInfo *image_info, image->scene=count++; if (format == (char *) NULL) { - (void) IdentifyImage(image,stdout,image_info->verbose); + (void) IdentifyImage(image,stdout,image_info->verbose,exception); continue; } if (metadata != (char **) NULL) diff --git a/MagickWand/magick-image.c b/MagickWand/magick-image.c index 601835666..48a9b8e3f 100644 --- a/MagickWand/magick-image.c +++ b/MagickWand/magick-image.c @@ -5760,7 +5760,7 @@ WandExport char *MagickIdentifyImage(MagickWand *wand) "UnableToCreateTemporaryFile","`%s'",wand->name); return((char *) NULL); } - (void) IdentifyImage(wand->images,file,MagickTrue); + (void) IdentifyImage(wand->images,file,MagickTrue,wand->exception); (void) fclose(file); description=FileToString(filename,~0,wand->exception); (void) RelinquishUniqueFileResource(filename); diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c index 6fb3c2de4..d2774f4f6 100644 --- a/MagickWand/mogrify.c +++ b/MagickWand/mogrify.c @@ -1765,8 +1765,8 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc, (void) SyncImageSettings(mogrify_info,*image); if (format == (char *) NULL) { - (void) IdentifyImage(*image,stdout,mogrify_info->verbose); - InheritException(exception,&(*image)->exception); + (void) IdentifyImage(*image,stdout,mogrify_info->verbose, + exception); break; } text=InterpretImageProperties(mogrify_info,*image,format); diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs index edced00bd..833a247b4 100644 --- a/PerlMagick/Magick.xs +++ b/PerlMagick/Magick.xs @@ -9589,7 +9589,7 @@ Mogrify(ref,...) (void) SetImageArtifact(image,"identify:features", argument_list[1].string_reference); (void) IdentifyImage(image,argument_list[0].file_reference, - MagickTrue); + MagickTrue,exception); break; } case 80: /* BlackThreshold */ diff --git a/coders/info.c b/coders/info.c index 893716995..7d6636b4c 100644 --- a/coders/info.c +++ b/coders/info.c @@ -188,7 +188,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_info->verbose,&image->exception); } else { -- 2.40.0