]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/string-private.h
(no commit message)
[imagemagick] / MagickCore / string-private.h
index 47d431726c0d94b8e0bd30b0a93e03e5895ddd25..26116d979350cdbb66bad40f337350c3010d7727 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
   dedicated to making software imaging solutions freely available.
 
   You may not use this file except in compliance with the License.
 extern "C" {
 #endif
 
-static inline double InterpretLocaleInterval(const char *string,
+#include <MagickCore/locale_.h>
+
+static inline double SiPrefixToDoubleInterval(const char *string,
+  const double interval)
+{
+  char
+    *q;
+
+  double
+    value;
+
+  value=InterpretSiPrefixValue(string,&q);
+  if (*q == '%')
+    value*=interval/100.0;
+  return(value);
+}
+
+static inline double StringToDouble(const char *restrict string,
+  char **restrict sentinal)
+{
+  return(InterpretLocaleValue(string,sentinal));
+}
+
+static inline double StringToDoubleInterval(const char *string,
   const double interval)
 {
   char
@@ -31,26 +54,23 @@ static inline double InterpretLocaleInterval(const char *string,
   double
     value;
 
-  /*
-    Interpret string with International System of Units (SI) unit prefix.
-  */
   value=InterpretLocaleValue(string,&q);
   if (*q == '%')
     value*=interval/100.0;
   return(value);
 }
 
-static inline int StringToInteger(const char *value)
+static inline int StringToInteger(const char *restrict value)
 {
   return((int) strtol(value,(char **) NULL,10));
 }
 
-static inline long StringToLong(const char *value)
+static inline long StringToLong(const char *restrict value)
 {
   return(strtol(value,(char **) NULL,10));
 }
 
-static inline unsigned long StringToUnsignedLong(const char *value)
+static inline unsigned long StringToUnsignedLong(const char *restrict value)
 {
   return(strtoul(value,(char **) NULL,10));
 }