rrd_value_t value;
struct tm tm;
- rrd_file = rrd_open(filename, &rrd, RRD_READONLY);
+ rrd_file = rrd_open(filename, &rrd, RRD_READONLY | RRD_READAHEAD);
if (rrd_file == NULL) {
rrd_free(&rrd);
return (-1);
} else { /* DST_CDEF */
char *str = NULL;
- rpn_compact2str((rpn_cdefds_t *) & (rrd.ds_def[i].par[DS_cdef]),
+ rpn_compact2str((rpn_cdefds_t *) &(rrd.ds_def[i].par[DS_cdef]),
rrd.ds_def, &str);
fprintf(out_file, "\t\t<cdef> %s </cdef>\n", str);
free(str);
}
fprintf(out_file, "</rrd>\n");
rrd_free(&rrd);
- close(rrd_file->fd);
if (out_file != stdout) {
fclose(out_file);
}
- return (0);
+ return rrd_close(rrd_file);
}