Code

force LC_NUMERIC to C while restoring ...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 20 Oct 2009 19:25:33 +0000 (19:25 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 20 Oct 2009 19:25:33 +0000 (19:25 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.3/program@1940 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_restore.c

index c5cbcd2dffae485242236e9bd7793dd45054a604..bd72ebbc25d19bbfd56bc3489117475dcc35a3b7 100644 (file)
@@ -1138,6 +1138,7 @@ int rrd_restore(
     char **argv)
 {
     rrd_t    *rrd;
+    char*    old_locale;
 
 #ifdef WIN32
     srand((unsigned int) time(NULL));
@@ -1185,7 +1186,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);