/*****************************************************************************
- * RRDtool 1.0.33 Copyright Tobias Oetiker, 1997 - 2000
+ * RRDtool 1.3.0 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_last.c
*****************************************************************************
#include "rrd_tool.h"
-time_t
-rrd_last(int argc, char **argv)
+time_t rrd_last(
+ int argc,
+ char **argv)
{
- FILE *in_file;
- time_t lastup;
-
- rrd_t rrd;
-
- if(argc < 2){
+ if (argc < 2) {
rrd_set_error("please specify an rrd");
- return(-1);
- }
- if(rrd_open(argv[1], &in_file, &rrd, RRD_READONLY)==-1){
- return(-1);
+ return (-1);
}
- lastup = rrd.live_head->last_up;
- rrd_free(&rrd);
- fclose(in_file);
- return(lastup);
+
+ return (rrd_last_r(argv[1]));
}
-
+time_t rrd_last_r(
+ const char *filename)
+{
+ time_t lastup = -1;
+ rrd_file_t *rrd_file;
+
+ rrd_t rrd;
+ rrd_file = rrd_open(filename, &rrd, RRD_READONLY);
+ if (rrd_file != NULL) {
+ lastup = rrd.live_head->last_up;
+ rrd_close(rrd_file);
+ }
+ rrd_free(&rrd);
+ return (lastup);
+}