prepare for the release of rrdtool-1.4.1
[rrdtool.git] / src / rrd_hw.c
index e802412..90dec9c 100644 (file)
@@ -1,11 +1,13 @@
 /*****************************************************************************
- * RRDtool 1.2.99907080300  Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.4.1  Copyright by Tobi Oetiker, 1997-2009
  *****************************************************************************
  * rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
  *****************************************************************************
  * Initial version by Jake Brutlag, WebTV Networks, 5/1/00
  *****************************************************************************/
 
+#include <stdlib.h>
+
 #include "rrd_tool.h"
 #include "rrd_hw.h"
 #include "rrd_hw_math.h"
@@ -141,8 +143,8 @@ int apply_smoother(
 
     if (atoi(rrd->stat_head->version) >= 4) {
         offset = floor(rrd->rra_def[rra_idx].
-                        par[RRA_seasonal_smoothing_window].
-                        u_val / 2 * row_count);
+                       par[RRA_seasonal_smoothing_window].
+                       u_val / 2 * row_count);
     } else {
         offset = floor(0.05 / 2 * row_count);
     }
@@ -164,7 +166,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 +270,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 +292,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 +306,6 @@ int apply_smoother(
         return -1;
     }
 
-    rrd_flush(rrd_file);
     free(rrd_values);
     free(baseline);
     return 0;
@@ -422,7 +421,7 @@ int update_aberrant_CF(
         hw_multiplicative_init_seasonality,
         hw_calculate_seasonal_deviation,
         hw_init_seasonal_deviation,
-        1.0             // identity value
+        1.0             /* identity value */
     };
 
     static hw_functions_t hw_additive_functions = {
@@ -433,7 +432,7 @@ int update_aberrant_CF(
         hw_additive_init_seasonality,
         hw_calculate_seasonal_deviation,
         hw_init_seasonal_deviation,
-        0.0             // identity value 
+        0.0             /* identity value  */
     };
 
     rrd->cdp_prep[cdp_idx].scratch[CDP_scratch_idx].u_val = pdp_val;