measure.c: Use c_strtod instead of strtod 20121201030503/pspp
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 1 Dec 2012 06:08:55 +0000 (07:08 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 1 Dec 2012 06:08:55 +0000 (07:08 +0100)
Since the input to these function come from hard coded strings, it is not appropriate
to interpret them in a locale dependent manner.

src/output/measure.c

index 14cd5dab9fdb56de6e263a4b4162a94df60dc4cb..60894f1cc25f81b3b21ae862ee646e0ac1d3c0ac 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "output/measure.h"
 
+#include <gl/c-strtod.h>
 #include <ctype.h>
 #include <errno.h>
 #if HAVE_LC_PAPER
@@ -50,7 +51,7 @@ measure_dimension (const char *dimen)
   char *tail;
 
   /* Number. */
-  raw = strtod (dimen, &tail);
+  raw = c_strtod (dimen, &tail);
   if (raw < 0.0)
     goto syntax_error;
 
@@ -150,7 +151,7 @@ parse_paper_size (const char *size, int *h, int *v)
   char *tail;
 
   /* Width. */
-  raw_h = strtod (size, &tail);
+  raw_h = c_strtod (size, &tail);
   if (raw_h <= 0.0)
     return false;
 
@@ -158,7 +159,7 @@ parse_paper_size (const char *size, int *h, int *v)
   tail += strspn (tail, CC_SPACES "x,");
 
   /* Length. */
-  raw_v = strtod (tail, &tail);
+  raw_v = c_strtod (tail, &tail);
   if (raw_v <= 0.0)
     return false;