diff --git a/MagickCore/display.c b/MagickCore/display.c
index cca29f2..59906bf 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -3541,7 +3541,7 @@
break;
if (entry != 5)
{
- (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],1.0*
+ (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
QuantumRange+1.0);
break;
}
@@ -3551,7 +3551,7 @@
if (*fuzz == '\0')
break;
(void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
- (*image)->fuzz=SiPrefixToDouble(fuzz,1.0*QuantumRange+1.0);
+ (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
break;
}
case ColorEditUndoCommand:
@@ -9854,7 +9854,7 @@
break;
if (entry != 5)
{
- (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],1.0*
+ (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
QuantumRange+1.0);
break;
}
@@ -9864,7 +9864,7 @@
if (*fuzz == '\0')
break;
(void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
- (*image)->fuzz=SiPrefixToDouble(fuzz,1.0*QuantumRange+1.0);
+ (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
break;
}
case MatteEditValueCommand:
diff --git a/MagickCore/image.c b/MagickCore/image.c
index bf79a47..3633366 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -4248,7 +4248,7 @@
MagickFalse,option);
option=GetImageOption(image_info,"fuzz");
if (option != (const char *) NULL)
- image->fuzz=SiPrefixToDouble(option,QuantumRange);
+ image->fuzz=SiPrefixToDouble(option,(double) QuantumRange+1.0);
option=GetImageOption(image_info,"gravity");
if (option != (const char *) NULL)
image->gravity=(GravityType) ParseCommandOption(MagickGravityOptions,
diff --git a/MagickCore/string-private.h b/MagickCore/string-private.h
index b3dd2e1..6e4308c 100644
--- a/MagickCore/string-private.h
+++ b/MagickCore/string-private.h
@@ -31,6 +31,9 @@
scale,
value;
+ /*
+ Interpret string with International System of Units (SI) unit prefix.
+ */
value=InterpretLocaleValue(string,&q);
scale=1000.0;
if ((*q != '\0') && (tolower((int) ((unsigned char) *(q+1))) == 'i'))