break;
components=(ssize_t) ((int) ReadPropertyLong(endian,q+4));
number_bytes=(size_t) components*tag_bytes[format];
+ if (number_bytes < components)
+ break; /* prevent overflow */
if (number_bytes <= 4)
p=q+8;
else
buffer[MaxTextExtent],
*value;
+ value=(char *) NULL;
+ *buffer='\0';
switch (format)
{
case EXIF_FMT_BYTE:
"true",MaxTextExtent);
break;
}
+ if (LocaleNCompare("orientation",property,11) == 0)
+ {
+ (void) FormatLocaleString(value,MaxTextExtent,"%s",
+ CommandOptionToMnemonic(MagickOrientationOptions,(ssize_t)
+ image->orientation));
+ break;
+ }
if (LocaleNCompare("output",property,6) == 0)
{
(void) CopyMagickString(value,image_info->filename,MaxTextExtent);
}
break;
}
+ case 'r':
+ {
+ if (LocaleNCompare("resolution.x",property,11) == 0)
+ {
+ (void) FormatLocaleString(value,MaxTextExtent,"%g",
+ image->resolution.x);
+ break;
+ }
+ if (LocaleNCompare("resolution.y",property,11) == 0)
+ {
+ (void) FormatLocaleString(value,MaxTextExtent,"%g",
+ image->resolution.y);
+ break;
+ }
+ break;
+ }
case 's':
{
if (LocaleNCompare("size",property,4) == 0)
}
break;
}
- case 'x':
- {
- if (LocaleNCompare("xresolution",property,11) == 0)
- {
- (void) FormatLocaleString(value,MaxTextExtent,"%g",
- image->resolution.x);
- break;
- }
- break;
- }
- case 'y':
- {
- if (LocaleNCompare("yresolution",property,11) == 0)
- {
- (void) FormatLocaleString(value,MaxTextExtent,"%g",
- image->resolution.y);
- break;
- }
- break;
- }
case 'z':
{
if (LocaleNCompare("zero",property,4) == 0)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% InterpretImageProperties() replaces any embedded formatting characters with
-% the appropriate image property and returns the interpreted text.
+% the appropriate image property and returns the interpreted text. Free with
+% DestoryString() or RelinquishMagickMemory().
%
% The format of the InterpretImageProperties method is:
%