X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_last.c;h=90bcae7afc608997f5a1709f3ee066ae7fe2356e;hb=2f28002d6613be5c03edb76958b6aa6b300c8a80;hp=aa9b917385a6da4da6ff555ca41bbe47f424c34e;hpb=ac630adec930653637199258efd99024d49325c7;p=rrdtool.git diff --git a/src/rrd_last.c b/src/rrd_last.c index aa9b917..90bcae7 100644 --- a/src/rrd_last.c +++ b/src/rrd_last.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.4.3 Copyright by Tobi Oetiker, 1997-2010 ***************************************************************************** * rrd_last.c ***************************************************************************** @@ -14,6 +14,7 @@ time_t rrd_last( char **argv) { char *opt_daemon = NULL; + time_t lastupdate; optind = 0; opterr = 0; /* initialize getopt */ @@ -57,45 +58,15 @@ time_t rrd_last( return (-1); } - if (opt_daemon == NULL) - { - char *temp; + rrdc_connect (opt_daemon); + if (rrdc_is_connected (opt_daemon)) + lastupdate = rrdc_last (argv[optind]); - temp = getenv (ENV_RRDCACHED_ADDRESS); - if (temp != NULL) - { - opt_daemon = strdup (temp); - if (opt_daemon == NULL) - { - rrd_set_error("strdup failed."); - return (-1); - } - } - } - - if (opt_daemon != NULL) - { - int status; - - status = rrdc_connect (opt_daemon); - if (status != 0) - { - rrd_set_error ("rrdc_connect failed with status %i.", status); - return (-1); - } - - status = rrdc_flush (argv[optind]); - if (status != 0) - { - rrd_set_error ("rrdc_flush (%s) failed with status %i.", - argv[optind], status); - return (-1); - } - - rrdc_disconnect (); - } /* if (opt_daemon) */ + else + lastupdate = rrd_last_r(argv[optind]); - return (rrd_last_r (argv[optind])); + if (opt_daemon) free(opt_daemon); + return (lastupdate); } time_t rrd_last_r( @@ -106,6 +77,7 @@ time_t rrd_last_r( rrd_t rrd; + rrd_init(&rrd); rrd_file = rrd_open(filename, &rrd, RRD_READONLY); if (rrd_file != NULL) { lastup = rrd.live_head->last_up;