diff --git a/src/rrd_tune.c b/src/rrd_tune.c
index 36b2bb0b409984c3a0a2a54428ac70c7b62b1490..1e6fa59fd05e392e1fa861638c455e1965bbb499 100644 (file)
--- a/src/rrd_tune.c
+++ b/src/rrd_tune.c
/*****************************************************************************
- * RRDtool 1.2.99907080300 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.3.8 Copyright by Tobi Oetiker, 1997-2009
*****************************************************************************
* change header parameters of an rrd
*****************************************************************************
#include "rrd_hw.h"
#include <locale.h>
+#ifdef WIN32
+#include <stdlib.h>
+#endif
+
int set_hwarg(
rrd_t *rrd,
enum cf_en cf,
rrd_close(rrd_file);
return -1;
}
- strncpy(rrd.ds_def[ds].dst, dst, DST_SIZE - 1);
- rrd.ds_def[ds].dst[DST_SIZE - 1] = '\0';
-
- rrd.pdp_prep[ds].last_ds[0] = 'U';
- rrd.pdp_prep[ds].last_ds[1] = 'N';
- rrd.pdp_prep[ds].last_ds[2] = 'K';
- rrd.pdp_prep[ds].last_ds[3] = 'N';
- rrd.pdp_prep[ds].last_ds[4] = '\0';
+ /* only reset when something is changed */
+ if (strncmp(rrd.ds_def[ds].dst, dst, DST_SIZE - 1) != 0) {
+ strncpy(rrd.ds_def[ds].dst, dst, DST_SIZE - 1);
+ rrd.ds_def[ds].dst[DST_SIZE - 1] = '\0';
+ rrd.pdp_prep[ds].last_ds[0] = 'U';
+ rrd.pdp_prep[ds].last_ds[1] = 'N';
+ rrd.pdp_prep[ds].last_ds[2] = 'K';
+ rrd.pdp_prep[ds].last_ds[3] = 'N';
+ rrd.pdp_prep[ds].last_ds[4] = '\0';
+ }
break;
case 'r':
if ((matches =
break;
case 's':
strcpy(rrd.stat_head->version, RRD_VERSION); /* smoothing_window causes Version 4 */
- if (set_hwarg(&rrd, CF_SEASONAL, RRA_seasonal_smoothing_window, optarg)) {
+ if (set_hwarg
+ (&rrd, CF_SEASONAL, RRA_seasonal_smoothing_window, optarg)) {
rrd_free(&rrd);
return -1;
}
break;
case 'S':
strcpy(rrd.stat_head->version, RRD_VERSION); /* smoothing_window causes Version 4 */
- if (set_hwarg(&rrd, CF_DEVSEASONAL, RRA_seasonal_smoothing_window, optarg)) {
+ if (set_hwarg
+ (&rrd, CF_DEVSEASONAL, RRA_seasonal_smoothing_window,
+ optarg)) {
rrd_free(&rrd);
return -1;
}