X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_restore.c;h=9af8ab00604e0941df9ac9d054ea1095279e7889;hb=9bd649847b9875c6babd44aa929a7bac2b6a5091;hp=ab8b138044d45158484302e6f8cf0b1637ff398c;hpb=219fd9224e3117dcf59df8818d4e9e3eab26022a;p=rrdtool.git diff --git a/src/rrd_restore.c b/src/rrd_restore.c index ab8b138..9af8ab0 100644 --- a/src/rrd_restore.c +++ b/src/rrd_restore.c @@ -31,7 +31,15 @@ #include #include #include -#include + + +#ifndef WIN32 +# include /* for off_t */ +#else + typedef size_t ssize_t; + typedef long off_t; +#endif + #include #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) # include @@ -132,6 +140,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); @@ -695,7 +710,7 @@ static int parse_tag_rra( } /* Set the RRA pointer to a random location */ - cur_rra_ptr->cur_row = random() % cur_rra_def->row_cnt; + cur_rra_ptr->cur_row = rrd_random() % cur_rra_def->row_cnt; return (status); } /* int parse_tag_rra */ @@ -1043,7 +1058,6 @@ int rrd_restore( { rrd_t *rrd; - srandom((unsigned int) time(NULL) + (unsigned int) getpid()); /* init rrd clean */ optind = 0; opterr = 0; /* initialize getopt */