diff --git a/magick/string.c b/magick/string.c
index 9d4f392..4a63977 100644
--- a/magick/string.c
+++ b/magick/string.c
@@ -1334,7 +1334,7 @@
 %
 %  The format of the LocaleCompare method is:
 %
-%      long LocaleCompare(const char *p,const char *q)
+%      int LocaleCompare(const char *p,const char *q)
 %
 %  A description of each parameter follows:
 %
@@ -1343,7 +1343,7 @@
 %    o q: A pointer to a character string to compare to p.
 %
 */
-MagickExport long LocaleCompare(const char *p,const char *q)
+MagickExport int LocaleCompare(const char *p,const char *q)
 {
   if ((p == (char *) NULL) && (q == (char *) NULL))
     return(0);
@@ -1355,20 +1355,20 @@
   return((long) strcasecmp(p,q));
 #else
   {
-    register unsigned int
+    register int
       c,
       d;
 
     for ( ; ; )
     {
-      c=(unsigned int) *((unsigned char *) p);
-      d=(unsigned int) *((unsigned char *) q);
-      if ((c == 0U) || (AsciiMap[c] != AsciiMap[d]))
+      c=(int) *((unsigned char *) p);
+      d=(int) *((unsigned char *) q);
+      if ((c == 0) || (AsciiMap[c] != AsciiMap[d]))
         break;
       p++;
       q++;
     }
-    return((long) AsciiMap[c]-AsciiMap[d]);
+    return(AsciiMap[c]-(int) AsciiMap[d]);
   }
 #endif
 }
@@ -1430,7 +1430,7 @@
 %
 %  The format of the LocaleNCompare method is:
 %
-%      long LocaleNCompare(const char *p,const char *q,const size_t n)
+%      int LocaleNCompare(const char *p,const char *q,const size_t n)
 %
 %  A description of each parameter follows:
 %
@@ -1441,8 +1441,7 @@
 %    o length: the number of characters to compare in strings p & q.
 %
 */
-MagickExport long LocaleNCompare(const char *p,const char *q,
-  const size_t length)
+MagickExport int LocaleNCompare(const char *p,const char *q,const size_t length)
 {
   if (p == (char *) NULL)
     return(-1);
@@ -1452,7 +1451,7 @@
   return((long) strncasecmp(p,q,length));
 #else
   {
-    register unsigned int
+    register int
       c,
       d;
 
@@ -1461,16 +1460,16 @@
 
     for (n=length; n != 0; n--)
     {
-      c=(unsigned int) *((unsigned char *) p);
-      d=(unsigned int) *((unsigned char *) q);
+      c=(int) *((unsigned char *) p);
+      d=(int) *((unsigned char *) q);
       if (AsciiMap[c] != AsciiMap[d])
-        return(AsciiMap[c]-AsciiMap[d]);
-      if (c == 0U)
-        return(0L);
+        return(AsciiMap[c]-(int) AsciiMap[d]);
+      if (c == 0)
+        return(0);
       p++;
       q++;
     }
-    return(0L);
+    return(0);
   }
 #endif
 }
@@ -2396,7 +2395,7 @@
         /*
           Make room for the replacement string.
         */
-        offset=p-(*string);
+        offset=(ssize_t) (p-(*string));
         extent=strlen(*string)+replace_extent-search_extent+1;
         *string=(char *) ResizeQuantumMemory(*string,extent+MaxTextExtent,
           sizeof(*p));
diff --git a/magick/string_.h b/magick/string_.h
index 1b978f1..afad01c 100644
--- a/magick/string_.h
+++ b/magick/string_.h
@@ -59,23 +59,23 @@
 extern MagickExport const char
   *GetStringInfoPath(const StringInfo *);
 
+extern MagickExport int
+  CompareStringInfo(const StringInfo *,const StringInfo *),
+  LocaleCompare(const char *,const char *),
+  LocaleNCompare(const char *,const char *,const size_t);
+
 extern MagickExport long
   FormatMagickSize(const MagickSizeType,const MagickBooleanType,char *),
   FormatMagickString(char *,const size_t,const char *,...)
     magick_attribute((format (printf,3,4))),
   FormatMagickStringList(char *,const size_t,const char *,va_list)
     magick_attribute((format (printf,3,0))),
-  FormatMagickTime(const time_t,const size_t,char *),
-  LocaleCompare(const char *,const char *),
-  LocaleNCompare(const char *,const char *,const size_t);
+  FormatMagickTime(const time_t,const size_t,char *);
 
 extern MagickExport MagickBooleanType
   ConcatenateString(char **,const char *),
   SubstituteString(char **,const char *,const char *);
 
-extern MagickExport int
-  CompareStringInfo(const StringInfo *,const StringInfo *);
-
 extern MagickExport size_t
   ConcatenateMagickString(char *,const char *,const size_t)
     magick_attribute((nonnull)),
diff --git a/magick/version.h b/magick/version.h
index da0ccec..5748f57 100644
--- a/magick/version.h
+++ b/magick/version.h
@@ -30,7 +30,7 @@
 #define MagickLibVersion  0x659
 #define MagickLibVersionText  "6.5.9"
 #define MagickLibVersionNumber  3,0,0
-#define MagickLibAddendum  "-8"
+#define MagickLibAddendum  "-7"
 #define MagickLibInterface  3
 #define MagickLibMinInterface  3
 #define MagickReleaseDate  "2010-02-17"