Code

On some architectures, strtod does not turn "NaN" into 'Not A Number (NAN)'
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 10 Dec 2008 13:18:10 +0000 (13:18 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 10 Dec 2008 13:18:10 +0000 (13:18 +0000)
se we better provide our own code here.

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1705 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/src/rrd_restore.c

index f803ab68bfe99be49346a3fe6b9ee0cc1ae6624b..e9363c6ecea7e392b73e2d545373f537fc591b37 100644 (file)
@@ -143,6 +143,13 @@ static int get_double_from_node(
         return (-1);
     }
 
+    if (strstr(str_ptr, "NaN") != NULL)
+    {
+        *value = DNAN;   
+        xmlFree(str_ptr);
+        return 0;
+    }
+
     end_ptr = NULL;
     temp = strtod(str_ptr, &end_ptr);
     xmlFree(str_ptr);