const MagickBooleanType bi,const char *suffix,const size_t length,
char *format)
{
+ char
+ p[MagickPathExtent],
+ q[MagickPathExtent];
+
const char
**units;
#else
extent=(double) size;
#endif
- for (i=0; (extent >= bytes) && (units[i+1] != (const char *) NULL); i++)
- extent/=bytes;
- if (suffix == (const char *) NULL)
- count=FormatLocaleString(format,length,"%.*g%s",GetMagickPrecision(),
- extent,units[i]);
- else
- count=FormatLocaleString(format,length,"%.*g%s%s",GetMagickPrecision(),
- extent,units[i],suffix);
- if (fabs(pow(bytes,(double) i)*strtod(format,(char **) NULL)-size) < MagickEpsilon)
+ (void) FormatLocaleString(p,MagickPathExtent,"%.*g",GetMagickPrecision(),
+ extent);
+ (void) FormatLocaleString(q,MagickPathExtent,"%.20g",extent);
+ if (strtod(p,(char **) NULL) == strtod(q,(char **) NULL))
{
#if defined(_MSC_VER) && (_MSC_VER == 1200)
extent=(double) ((MagickOffsetType) size);
else
count=FormatLocaleString(format,length,"%.20g%s%s",extent,units[0],
suffix);
+ return(count);
}
+ for (i=0; (extent >= bytes) && (units[i+1] != (const char *) NULL); i++)
+ extent/=bytes;
+ if (suffix == (const char *) NULL)
+ count=FormatLocaleString(format,length,"%.*g%s",GetMagickPrecision(),
+ extent,units[i]);
+ else
+ count=FormatLocaleString(format,length,"%.*g%s%s",GetMagickPrecision(),
+ extent,units[i],suffix);
return(count);
}
\f
(void) gmtime_r(&time,&gm_time);
#else
{
- struct tm
+ a[MaxTstruct tm
*my_time;
my_time=gmtime(&time);