projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rrd_notify_row patch:
[rrdtool.git]
/
src
/
rrd_dump.c
diff --git
a/src/rrd_dump.c
b/src/rrd_dump.c
index
6f14b4b
..
aa24882
100644
(file)
--- a/
src/rrd_dump.c
+++ b/
src/rrd_dump.c
@@
-1,5
+1,5
@@
/*****************************************************************************
/*****************************************************************************
- * RRDtool 1.3
rc8
Copyright by Tobi Oetiker, 1997-2008
+ * RRDtool 1.3
.2
Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_dump Display a RRD
*****************************************************************************
*****************************************************************************
* rrd_dump Display a RRD
*****************************************************************************
@@
-43,13
+43,13
@@
*****************************************************************************/
#include "rrd_tool.h"
#include "rrd_rpncalc.h"
*****************************************************************************/
#include "rrd_tool.h"
#include "rrd_rpncalc.h"
+#include "rrd_client.h"
#if !(defined(NETWARE) || defined(WIN32))
extern char *tzname[2];
#endif
#if !(defined(NETWARE) || defined(WIN32))
extern char *tzname[2];
#endif
-
-int rrd_dump_opt_r(
+static int rrd_dump_opt_r(
const char *filename,
char *outname,
int opt_noheader)
const char *filename,
char *outname,
int opt_noheader)
@@
-65,6
+65,7
@@
int rrd_dump_opt_r(
rrd_value_t value;
struct tm tm;
rrd_value_t value;
struct tm tm;
+ rrd_init(&rrd);
rrd_file = rrd_open(filename, &rrd, RRD_READONLY | RRD_READAHEAD);
if (rrd_file == NULL) {
rrd_free(&rrd);
rrd_file = rrd_open(filename, &rrd, RRD_READONLY | RRD_READAHEAD);
if (rrd_file == NULL) {
rrd_free(&rrd);
@@
-441,6
+442,7
@@
int rrd_dump(
{
int rc;
int opt_noheader = 0;
{
int rc;
int opt_noheader = 0;
+ char *opt_daemon = NULL;
/* init rrd clean */
/* init rrd clean */
@@
-451,16
+453,28
@@
int rrd_dump(
int opt;
int option_index = 0;
static struct option long_options[] = {
int opt;
int option_index = 0;
static struct option long_options[] = {
+ {"daemon", required_argument, 0, 'd'},
{"no-header", no_argument, 0, 'n'},
{0, 0, 0, 0}
};
{"no-header", no_argument, 0, 'n'},
{0, 0, 0, 0}
};
- opt = getopt_long(argc, argv, "n", long_options, &option_index);
+ opt = getopt_long(argc, argv, "
d:
n", long_options, &option_index);
if (opt == EOF)
break;
switch (opt) {
if (opt == EOF)
break;
switch (opt) {
+ case 'd':
+ if (opt_daemon != NULL)
+ free (opt_daemon);
+ opt_daemon = strdup (optarg);
+ if (opt_daemon == NULL)
+ {
+ rrd_set_error ("strdup failed.");
+ return (-1);
+ }
+ break;
+
case 'n':
opt_noheader = 1;
break;
case 'n':
opt_noheader = 1;
break;
@@
-479,6
+493,10
@@
int rrd_dump(
return (-1);
}
return (-1);
}
+ rc = rrdc_flush_if_daemon(opt_daemon, argv[optind]);
+ if (opt_daemon) free(opt_daemon);
+ if (rc) return (rc);
+
if ((argc - optind) == 2) {
rc = rrd_dump_opt_r(argv[optind], argv[optind + 1], opt_noheader);
} else {
if ((argc - optind) == 2) {
rc = rrd_dump_opt_r(argv[optind], argv[optind + 1], opt_noheader);
} else {