From: cristy Date: Mon, 22 Dec 2014 01:44:59 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~1574 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40937044c58de334456bbfb2b6fed5ab03fd2946;p=imagemagick --- diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 58d243f1b..757b3bc98 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -3240,7 +3240,7 @@ static MagickBooleanType SetPixelCacheExtent(Image *image,MagickSizeType length) format[MaxTextExtent], message[MaxTextExtent]; - (void) FormatMagickSize(length,MagickFalse,format); + (void) FormatMagickSize(length,MagickFalse,"B",format); (void) FormatLocaleString(message,MaxTextExtent, "extend %s (%s[%d], disk, %s)",cache_info->filename, cache_info->cache_filename,cache_info->file,format); @@ -3371,7 +3371,8 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, } if (image->debug != MagickFalse) { - (void) FormatMagickSize(cache_info->length,MagickTrue,format); + (void) FormatMagickSize(cache_info->length,MagickTrue,"B", + format); type=CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type); (void) FormatLocaleString(message,MaxTextExtent, @@ -3430,7 +3431,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, } if (image->debug != MagickFalse) { - (void) FormatMagickSize(cache_info->length,MagickFalse, + (void) FormatMagickSize(cache_info->length,MagickFalse,"B", format); type=CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type); @@ -3513,7 +3514,8 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, } if (image->debug != MagickFalse) { - (void) FormatMagickSize(cache_info->length,MagickTrue,format); + (void) FormatMagickSize(cache_info->length,MagickTrue,"B", + format); type=CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type); (void) FormatLocaleString(message,MaxTextExtent, @@ -3538,7 +3540,7 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, } if (image->debug != MagickFalse) { - (void) FormatMagickSize(cache_info->length,MagickFalse,format); + (void) FormatMagickSize(cache_info->length,MagickFalse,"B",format); type=CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type); (void) FormatLocaleString(message,MaxTextExtent, diff --git a/MagickCore/identify.c b/MagickCore/identify.c index 42a9695cb..cb6d7b343 100644 --- a/MagickCore/identify.c +++ b/MagickCore/identify.c @@ -599,7 +599,8 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, { if (image->total_colors != 0) { - (void) FormatMagickSize(image->total_colors,MagickFalse,format); + (void) FormatMagickSize(image->total_colors,MagickFalse,"B", + format); (void) FormatLocaleFile(file,"%s ",format); } } @@ -617,7 +618,8 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, image->error.normalized_maximum_error); if (GetBlobSize(image) != 0) { - (void) FormatMagickSize(GetBlobSize(image),MagickFalse,format); + (void) FormatMagickSize(GetBlobSize(image),MagickFalse,"B", + format); (void) FormatLocaleFile(file,"%s ",format); } (void) FormatLocaleFile(file,"%0.3fu %lu:%02lu.%03lu",user_time, @@ -1381,15 +1383,15 @@ MagickExport MagickBooleanType IdentifyImage(Image *image,FILE *file, } (void) FormatLocaleFile(file," Tainted: %s\n",CommandOptionToMnemonic( MagickBooleanOptions,(ssize_t) image->taint)); - (void) FormatMagickSize(GetBlobSize(image),MagickFalse,format); + (void) FormatMagickSize(GetBlobSize(image),MagickFalse,"B",format); (void) FormatLocaleFile(file," Filesize: %s\n",format); (void) FormatMagickSize((MagickSizeType) image->columns*image->rows, - MagickFalse,format); + MagickFalse,"B",format); if (strlen(format) > 1) format[strlen(format)-1]='\0'; (void) FormatLocaleFile(file," Number pixels: %s\n",format); (void) FormatMagickSize((MagickSizeType) ((double) image->columns*image->rows/ - elapsed_time+0.5),MagickFalse,format); + elapsed_time+0.5),MagickFalse,"B",format); (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", diff --git a/MagickCore/property.c b/MagickCore/property.c index 036fabf34..3724a12e8 100644 --- a/MagickCore/property.c +++ b/MagickCore/property.c @@ -2294,11 +2294,7 @@ static const char *GetMagickPropertyLetter(ImageInfo *image_info, case 'b': /* image size read in - in bytes */ { WarnNoImageReturn("\"%%%c\"",letter); - (void) FormatLocaleString(value,MaxTextExtent,"%.20g",(double) - ((MagickOffsetType) image->extent)); - if (image->extent != (MagickSizeType) ((size_t) image->extent)) - (void) FormatMagickSize(image->extent,MagickFalse,value); - ConcatenateMagickString(value,"B",MaxTextExtent); + (void) FormatMagickSize(image->extent,MagickFalse,"B",value); break; } case 'c': /* image comment property - empty string by default */ @@ -2975,12 +2971,8 @@ MagickExport const char *GetMagickProperty(ImageInfo *image_info, } if (LocaleCompare("size",property) == 0) { - char - format[MaxTextExtent]; - WarnNoImageReturn("\"%%[%s]\"",property); - (void) FormatMagickSize(GetBlobSize(image),MagickFalse,format); - (void) FormatLocaleString(value,MaxTextExtent,"%sB",format); + (void) FormatMagickSize(GetBlobSize(image),MagickFalse,"B",value); break; } if (LocaleCompare("skewness",property) == 0) diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 4a17c28c2..83779e6c0 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -3699,7 +3699,7 @@ MagickExport Image *ThumbnailImage(const Image *image,const size_t columns, } (void) FormatLocaleString(value,MaxTextExtent,"%.20g",(double) attributes.st_mtime); - (void) FormatMagickSize(GetBlobSize(image),MagickFalse,value); + (void) FormatMagickSize(GetBlobSize(image),MagickFalse,"B",value); (void) ConcatenateMagickString(value,"B",MaxTextExtent); (void) SetImageProperty(thumbnail_image,"Thumb::Size",value,exception); (void) FormatLocaleString(value,MaxTextExtent,"image/%s",image->magick); diff --git a/MagickCore/resource.c b/MagickCore/resource.c index fbc1acd29..9594a2caf 100644 --- a/MagickCore/resource.c +++ b/MagickCore/resource.c @@ -174,7 +174,7 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, limit; status=MagickFalse; - (void) FormatMagickSize(size,MagickFalse,resource_request); + (void) FormatMagickSize(size,MagickFalse,"B",resource_request); if (resource_semaphore == (SemaphoreInfo *) NULL) ActivateSemaphoreInfo(&resource_semaphore); LockSemaphoreInfo(resource_semaphore); @@ -187,9 +187,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, status=(resource_info.area_limit == MagickResourceInfinity) || (size < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.area,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.area_limit,MagickFalse, - resource_limit); + "B",resource_limit); break; } case MemoryResource: @@ -200,9 +200,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.memory < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.memory,MagickTrue, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.memory_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case MapResource: @@ -212,9 +212,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, status=(resource_info.map_limit == MagickResourceInfinity) || ((MagickSizeType) resource_info.map < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.map,MagickTrue, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.map_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case DiskResource: @@ -225,9 +225,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.disk < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.disk,MagickTrue, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.disk_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case FileResource: @@ -238,9 +238,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.file < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.file,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.file_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case HeightResource: @@ -250,9 +250,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, status=(resource_info.area_limit == MagickResourceInfinity) || (size < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.height,MagickFalse, - resource_current); + "P",resource_current); (void) FormatMagickSize(resource_info.height_limit,MagickFalse, - resource_limit); + "P",resource_limit); break; } case ThreadResource: @@ -262,9 +262,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.thread < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.thread,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.thread_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case ThrottleResource: @@ -274,9 +274,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.throttle < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.throttle, - MagickFalse,resource_current); + MagickFalse,"B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.throttle_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case TimeResource: @@ -287,9 +287,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, ((MagickSizeType) resource_info.time < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.time,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.time_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case WidthResource: @@ -299,9 +299,9 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, status=(resource_info.area_limit == MagickResourceInfinity) || (size < limit) ? MagickTrue : MagickFalse; (void) FormatMagickSize((MagickSizeType) resource_info.width,MagickFalse, - resource_current); + "P",resource_current); (void) FormatMagickSize(resource_info.width_limit,MagickFalse, - resource_limit); + "P",resource_limit); break; } default: @@ -773,14 +773,17 @@ MagickExport MagickBooleanType ListMagickResourceInfo(FILE *file, if (resource_semaphore == (SemaphoreInfo *) NULL) ActivateSemaphoreInfo(&resource_semaphore); LockSemaphoreInfo(resource_semaphore); - (void) FormatMagickSize(resource_info.width_limit,MagickFalse,width_limit); - (void) FormatMagickSize(resource_info.height_limit,MagickFalse,height_limit); - (void) FormatMagickSize(resource_info.area_limit,MagickFalse,area_limit); - (void) FormatMagickSize(resource_info.memory_limit,MagickTrue,memory_limit); - (void) FormatMagickSize(resource_info.map_limit,MagickTrue,map_limit); + (void) FormatMagickSize(resource_info.width_limit,MagickFalse,"P", + width_limit); + (void) FormatMagickSize(resource_info.height_limit,MagickFalse,"P", + height_limit); + (void) FormatMagickSize(resource_info.area_limit,MagickFalse,"B",area_limit); + (void) FormatMagickSize(resource_info.memory_limit,MagickTrue,"B", + memory_limit); + (void) FormatMagickSize(resource_info.map_limit,MagickTrue,"B",map_limit); (void) CopyMagickString(disk_limit,"unlimited",MaxTextExtent); if (resource_info.disk_limit != MagickResourceInfinity) - (void) FormatMagickSize(resource_info.disk_limit,MagickTrue,disk_limit); + (void) FormatMagickSize(resource_info.disk_limit,MagickTrue,"B",disk_limit); (void) CopyMagickString(time_limit,"unlimited",MaxTextExtent); if (resource_info.time_limit != MagickResourceInfinity) (void) FormatLocaleString(time_limit,MaxTextExtent,"%.20g",(double) @@ -837,7 +840,7 @@ MagickExport void RelinquishMagickResource(const ResourceType type, resource_limit[MaxTextExtent], resource_request[MaxTextExtent]; - (void) FormatMagickSize(size,MagickFalse,resource_request); + (void) FormatMagickSize(size,MagickFalse,"B",resource_request); if (resource_semaphore == (SemaphoreInfo *) NULL) ActivateSemaphoreInfo(&resource_semaphore); LockSemaphoreInfo(resource_semaphore); @@ -847,88 +850,88 @@ MagickExport void RelinquishMagickResource(const ResourceType type, { resource_info.width=(MagickOffsetType) size; (void) FormatMagickSize((MagickSizeType) resource_info.width,MagickFalse, - resource_current); + "P",resource_current); (void) FormatMagickSize(resource_info.width_limit,MagickFalse, - resource_limit); + "P",resource_limit); break; } case HeightResource: { resource_info.width=(MagickOffsetType) size; (void) FormatMagickSize((MagickSizeType) resource_info.width,MagickFalse, - resource_current); + "P",resource_current); (void) FormatMagickSize(resource_info.width_limit,MagickFalse, - resource_limit); + "P",resource_limit); break; } case AreaResource: { resource_info.area=(MagickOffsetType) size; (void) FormatMagickSize((MagickSizeType) resource_info.area,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.area_limit,MagickFalse, - resource_limit); + "B",resource_limit); break; } case MemoryResource: { resource_info.memory-=size; (void) FormatMagickSize((MagickSizeType) resource_info.memory, - MagickTrue,resource_current); + MagickTrue,"B",resource_current); (void) FormatMagickSize(resource_info.memory_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case MapResource: { resource_info.map-=size; (void) FormatMagickSize((MagickSizeType) resource_info.map,MagickTrue, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.map_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case DiskResource: { resource_info.disk-=size; (void) FormatMagickSize((MagickSizeType) resource_info.disk,MagickTrue, - resource_current); + "B",resource_current); (void) FormatMagickSize(resource_info.disk_limit,MagickTrue, - resource_limit); + "B",resource_limit); break; } case FileResource: { resource_info.file-=size; (void) FormatMagickSize((MagickSizeType) resource_info.file,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.file_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case ThreadResource: { (void) FormatMagickSize((MagickSizeType) resource_info.thread,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.thread_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case ThrottleResource: { (void) FormatMagickSize((MagickSizeType) resource_info.throttle, - MagickFalse,resource_current); + MagickFalse,"B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.throttle_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } case TimeResource: { resource_info.time-=size; (void) FormatMagickSize((MagickSizeType) resource_info.time,MagickFalse, - resource_current); + "B",resource_current); (void) FormatMagickSize((MagickSizeType) resource_info.time_limit, - MagickFalse,resource_limit); + MagickFalse,"B",resource_limit); break; } default: diff --git a/MagickCore/string.c b/MagickCore/string.c index 41a017fd1..7aff064b3 100644 --- a/MagickCore/string.c +++ b/MagickCore/string.c @@ -1064,7 +1064,8 @@ MagickExport StringInfo *FileToStringInfo(const char *filename, % % The format of the FormatMagickSize method is: % -% ssize_t FormatMagickSize(const MagickSizeType size,char *format) +% ssize_t FormatMagickSize(const MagickSizeType size,const char *suffix, +^ char *format) % % A description of each parameter follows: % @@ -1072,11 +1073,13 @@ MagickExport StringInfo *FileToStringInfo(const char *filename, % % o bi: use power of two rather than power of ten. % +% o suffix: append suffix, typically B or P. +% % o format: human readable format. % */ MagickExport ssize_t FormatMagickSize(const MagickSizeType size, - const MagickBooleanType bi,char *format) + const MagickBooleanType bi,const char *suffix,char *format) { const char **units; @@ -1119,8 +1122,12 @@ MagickExport ssize_t FormatMagickSize(const MagickSizeType size, count=0; for (j=2; j < 12; j++) { - count=FormatLocaleString(format,MaxTextExtent,"%.*g%sB",(int) (i+j),length, - units[i]); + if (suffix == (const char *) NULL) + count=FormatLocaleString(format,MaxTextExtent,"%.*g%s",(int) (i+j), + length,units[i]); + else + count=FormatLocaleString(format,MaxTextExtent,"%.*g%s%s",(int) (i+j), + length,units[i],suffix); if (strchr(format,'+') == (char *) NULL) break; } @@ -1410,7 +1417,7 @@ MagickExport double InterpretSiPrefixValue(const char *restrict string, } } } - if (*q == 'B') + if ((*q == 'B') || (*q == 'P')) q++; } if (sentinal != (char **) NULL) diff --git a/MagickCore/string_.h b/MagickCore/string_.h index f848aa0b7..6c17c40bc 100644 --- a/MagickCore/string_.h +++ b/MagickCore/string_.h @@ -78,7 +78,8 @@ extern MagickExport size_t GetStringInfoLength(const StringInfo *); extern MagickExport ssize_t - FormatMagickSize(const MagickSizeType,const MagickBooleanType,char *), + FormatMagickSize(const MagickSizeType,const MagickBooleanType,const char *, + char *), FormatMagickTime(const time_t,const size_t,char *); extern MagickExport StringInfo diff --git a/coders/json.c b/coders/json.c index a2f0245c2..814c2b078 100644 --- a/coders/json.c +++ b/coders/json.c @@ -1337,15 +1337,15 @@ static MagickBooleanType EncodeImageAttributes(Image *image,FILE *file, } (void) FormatLocaleFile(file," Tainted: %s\n",CommandOptionToMnemonic( MagickBooleanOptions,(ssize_t) image->taint)); - (void) FormatMagickSize(GetBlobSize(image),MagickFalse,format); + (void) FormatMagickSize(GetBlobSize(image),MagickFalse,"B",format); (void) FormatLocaleFile(file," Filesize: %s\n",format); (void) FormatMagickSize((MagickSizeType) image->columns*image->rows, - MagickFalse,format); + MagickFalse,"B",format); if (strlen(format) > 1) format[strlen(format)-1]='\0'; (void) FormatLocaleFile(file," Number pixels: %s\n",format); (void) FormatMagickSize((MagickSizeType) ((double) image->columns*image->rows/ - elapsed_time+0.5),MagickFalse,format); + elapsed_time+0.5),MagickFalse,"B",format); (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", diff --git a/config/policy.xml b/config/policy.xml index 476f7fdb8..9a3bf0f12 100644 --- a/config/policy.xml +++ b/config/policy.xml @@ -48,8 +48,8 @@ - - + +