Code

Merge branch 'upstream'
[pkg-rrdtool.git] / src / rrd_hw.c
index f04d9f78d53eaef99be8919a357be9b9c2a2dc3a..4397f5bad8899db3701dec96957dc3b792be4310 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * RRDtool 1.3.0  Copyright by Tobi Oetiker, 1997-2008
+ * RRDtool 1.3.8  Copyright by Tobi Oetiker, 1997-2009
  *****************************************************************************
  * rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
  *****************************************************************************
 #include "rrd_hw_math.h"
 #include "rrd_hw_update.h"
 
+#ifdef WIN32
+#include <stdlib.h>
+#endif
+
 #define hw_dep_idx(rrd, rra_idx) rrd->rra_def[rra_idx].par[RRA_dependent_rra_idx].u_cnt
 
 /* #define DEBUG */
@@ -164,7 +168,7 @@ int apply_smoother(
         free(rrd_values);
         return -1;
     }
-    rrd_flush(rrd_file);
+
     /* could read all data in a single block, but we need to
      * check for NA values */
     for (i = 0; i < row_count; ++i) {
@@ -268,7 +272,6 @@ int apply_smoother(
                 baseline[j];
         }
         /* flush cdp to disk */
-        rrd_flush(rrd_file);
         if (rrd_seek(rrd_file, sizeof(stat_head_t) +
                      rrd->stat_head->ds_cnt * sizeof(ds_def_t) +
                      rrd->stat_head->rra_cnt * sizeof(rra_def_t) +
@@ -291,7 +294,6 @@ int apply_smoother(
 
     /* endif CF_SEASONAL */
     /* flush updated values to disk */
-    rrd_flush(rrd_file);
     if (rrd_seek(rrd_file, rra_start, SEEK_SET)) {
         rrd_set_error("apply_smoother: seek to pos %d failed", rra_start);
         free(rrd_values);
@@ -306,7 +308,6 @@ int apply_smoother(
         return -1;
     }
 
-    rrd_flush(rrd_file);
     free(rrd_values);
     free(baseline);
     return 0;