X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_dump.c;h=3f79a96ff7340463c58242cc02d3032d63d34f0a;hb=401ee75cb9db4973161d9bf6e83e586087bd7769;hp=d8c10908205e847eeb4e860cbe0eb72c12be9a09;hpb=b894ebf96ca888b9e3e13b2ab86a6c6f284b757c;p=rrdtool.git diff --git a/src/rrd_dump.c b/src/rrd_dump.c index d8c1090..3f79a96 100644 --- a/src/rrd_dump.c +++ b/src/rrd_dump.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3rc5 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_dump Display a RRD ***************************************************************************** @@ -43,13 +43,13 @@ *****************************************************************************/ #include "rrd_tool.h" #include "rrd_rpncalc.h" +#include "rrd_client.h" #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) @@ -441,6 +441,7 @@ int rrd_dump( { int rc; int opt_noheader = 0; + char *opt_daemon = NULL; /* init rrd clean */ @@ -451,16 +452,28 @@ int rrd_dump( 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} }; - 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) { + 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; @@ -479,6 +492,10 @@ int rrd_dump( 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 {