diff --git a/src/rrd_update.c b/src/rrd_update.c
index 01e756d1e9bfe0a9930ac9e13f554cee05318356..561dc054547994022f7681bd2bcd103f57dc0c12 100644 (file)
--- a/src/rrd_update.c
+++ b/src/rrd_update.c
+
/*****************************************************************************
- * RRDtool 1.2.99907080300 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.3rc5 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_update.c RRD Update Function
*****************************************************************************
rrd->live_head->last_up = *current_time;
rrd->live_head->last_up_usec = *current_time_usec;
+ if ( version < 3 ){
+ *rrd->legacy_last_up = rrd->live_head->last_up;
+ }
free(seasonal_coef);
free(last_seasonal_coef);
return 0;
}
#ifdef DEBUG
fprintf(stderr, "PDP UPD ds[%lu]\t"
+ "elapsed_pdp_st %lu\t"
"pdp_temp %10.2f\t"
"new_prep %10.2f\t"
"new_unkn_sec %5lu\n",
- ds_idx, pdp_temp[ds_idx],
+ ds_idx,
+ elapsed_pdp_st,
+ pdp_temp[ds_idx],
rrd->pdp_prep[ds_idx].scratch[PDP_val].u_val,
rrd->pdp_prep[ds_idx].scratch[PDP_unkn_sec_cnt].u_cnt);
#endif
double interval,
double pre_int,
double post_int,
- long diff_pdp_st,
+ long diff_pdp_st, /* number of seconds in full steps passed since last update */
rrd_value_t *pdp_new,
rrd_value_t *pdp_temp)
{
if (isnan(pdp_new[ds_idx])) {
- /* a final bit of unknown to be added bevore calculation
+ /* a final bit of unknown to be added before calculation
we use a temporary variable for this so that we
don't have to turn integer lines before using the value */
pre_unknown = pre_int;
/* if too much of the pdp_prep is unknown we dump it */
/* if the interval is larger thatn mrhb we get NAN */
if ((interval > mrhb) ||
- (diff_pdp_st <= (signed) scratch[PDP_unkn_sec_cnt].u_cnt)) {
+ (rrd->stat_head->pdp_step / 2.0 <
+ (signed) scratch[PDP_unkn_sec_cnt].u_cnt)) {
pdp_temp[ds_idx] = DNAN;
} else {
pdp_temp[ds_idx] = scratch[PDP_val].u_val /
rrd_value_t pdp_temp_val,
unsigned long elapsed_pdp_st,
int current_cf,
+#ifdef DEBUG
int i,
- int ii)
+ int ii
+#else
+ int UNUSED(i),
+ int UNUSED(ii)
+#endif
+ )
{
if (isnan(cdp_val)) {
if (current_cf == CF_AVERAGE) {
return -1;
}
} else {
- if (rrd_write(rrd_file, &rrd->live_head->last_up,
+ if (rrd_write(rrd_file, rrd->legacy_last_up,
sizeof(time_t) * 1) != sizeof(time_t) * 1) {
rrd_set_error("rrd_write live_head to rrd");
return -1;