Code

make negative update times work as diescribed in the documentation (-5 is NOW-5seconds)
[rrdtool-all.git] / program / src / rrd_update.c
index 36a7e1dbf55d761cfe59b5a1bd776d9fc298a881..79583507e6dc2645cb0dea76172ce52f8b0ddb2f 100644 (file)
@@ -951,6 +951,11 @@ static int get_time_from_reading(
             return -1;
         };
         setlocale(LC_NUMERIC, old_locale);
+        if (tmp < 0.0){
+            gettimeofday(&tmp_time, 0);
+            tmp = (double)tmp_time.tv_sec + (double)tmp_time.tv_usec * 1e-6f + tmp;
+        }
+
         *current_time = floor(tmp);
         *current_time_usec = (long) ((tmp - (double) *current_time) * 1e6f);
     }
@@ -1875,7 +1880,7 @@ static int write_to_rras(
                  scratch_idx = CDP_secondary_val,
                  step_subtract = 2) {
 
-            off_t rra_pos_new;
+            size_t rra_pos_new;
 #ifdef DEBUG
             fprintf(stderr, "  -- RRA Preseek %ld\n", rrd_file->pos);
 #endif