When fetching data from 'past' an rra, rrd_fetch was seeking past the rrd
[rrdtool.git] / src / rrd_update.c
index 108dcbb..72a9905 100644 (file)
@@ -449,7 +449,7 @@ int rrd_update(
     {
         rc = rrdc_update (argv[optind], /* file */
                           argc - optind - 1, /* values_num */
-                          (void *) (argv + optind + 1)); /* values */
+                          (const char *const *) (argv + optind + 1)); /* values */
         if (rc > 0)
             rrd_set_error("Failed sending the values to rrdcached: %s",
                           rrd_strerror (rc));
@@ -519,6 +519,7 @@ int _rrd_update(
         goto err_out;
     }
 
+    rrd_init(&rrd);
     if ((rrd_file = rrd_open(filename, &rrd, RRD_READWRITE)) == NULL) {
         goto err_free;
     }
@@ -1927,6 +1928,8 @@ static int write_to_rras(
                 (rrd_file, rrd, rra_idx, scratch_idx,
                  pcdp_summary, rra_time) == -1)
                 return -1;
+
+            rrd_notify_row(rrd_file, rra_idx, rra_pos_new, rra_time);
         }
 
         rra_start += rra_def->row_cnt * ds_cnt * sizeof(rrd_value_t);