Code

set locale to C while restoring
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 20 Oct 2009 19:23:49 +0000 (19:23 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 20 Oct 2009 19:23:49 +0000 (19:23 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1939 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/src/rrd_restore.c

index 32bfdebc47a8c4d60617643e60ca81e3a75fc0e0..cc9b9c655b31a9c8da3198d223152ef4a86aa4ab 100644 (file)
@@ -1214,7 +1214,7 @@ int rrd_restore(
     char **argv)
 {
     rrd_t    *rrd;
-
+    char     *old_locale;
     /* init rrd clean */
     optind = 0;
     opterr = 0;         /* initialize getopt */
@@ -1256,7 +1256,16 @@ int rrd_restore(
         return (-1);
     }
 
+#ifdef HAVE_SETLOCALE
+    old_locale = setlocale(LC_NUMERIC, "C");
+#endif
+
     rrd = parse_file(argv[optind]);
+
+#ifdef HAVE_SETLOCALE
+    setlocale(LC_NUMERIC, old_locale);
+#endif
+
     if (rrd == NULL)
         return (-1);