projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix for ticket #121 jmpbuf on aix is a problem it seems, maybe this makes it better.
[rrdtool.git]
/
src
/
rrd_last.c
diff --git
a/src/rrd_last.c
b/src/rrd_last.c
index
b9caa64
..
bf290b2
100644
(file)
--- a/
src/rrd_last.c
+++ b/
src/rrd_last.c
@@
-1,5
+1,5
@@
/*****************************************************************************
/*****************************************************************************
- * RRDtool 1.
1.x Copyright Tobias Oetiker, 1997 - 2002
+ * RRDtool 1.
3rc8 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_last.c
*****************************************************************************
*****************************************************************************
* rrd_last.c
*****************************************************************************
@@
-8,27
+8,32
@@
#include "rrd_tool.h"
#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");
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);
+}