Ensure that response_read() always calls fflush() or fclose().
[rrdtool.git] / src / rrd_nan_inf.c
1 int       done_nan = 0;
2 int       done_inf = 0;
3
4 double    dnan;
5 double    dinf;
6
7 #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
8 #include <math.h>
9 #include "rrd.h"
10
11 #define NAN_FUNC (double)fmod(0.0,0.0)
12 #define INF_FUNC (double)fabs((double)log(0.0))
13
14 #else
15 #include "rrd.h"
16
17 #define NAN_FUNC (double)(0.0/0.0)
18 #define INF_FUNC (double)(1.0/0.0)
19
20 #endif
21
22 double rrd_set_to_DNAN(
23     void)
24 {
25     if (!done_nan) {
26         dnan = NAN_FUNC;
27         done_nan = 1;
28     }
29     return dnan;
30 }
31
32 double rrd_set_to_DINF(
33     void)
34 {
35     if (!done_inf) {
36         dinf = INF_FUNC;
37         done_inf = 1;
38     }
39     return dinf;
40 }