src/rrd_fetch.c: Use "rrdc_fetch" if daemon is available. ff/rrdc_fetch-fetch
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Tue, 24 Mar 2009 14:23:32 +0000 (15:23 +0100)
committerFlorian Forster <octo@noris.net>
Wed, 24 Feb 2010 16:57:55 +0000 (17:57 +0100)
Instead of flushing the file via the connection to the daemon and then
accessing it directly, use the "FETCH" command to access the file via
the RRDCacheD. This removes ambiguities with absolute and relative paths
and makes it possible to read data from files that are not available
locally.

src/rrd_fetch.c

index 45c0e7c..9e384b8 100644 (file)
@@ -167,14 +167,17 @@ int rrd_fetch(
         return -1;
     }
 
-    status = rrdc_flush_if_daemon(opt_daemon, argv[optind]);
-    if (opt_daemon) free (opt_daemon);
-    if (status) return (-1);
-
     cf = argv[optind + 1];
 
-    status = rrd_fetch_r(argv[optind], cf, start, end, step,
-            ds_cnt, ds_namv, data);
+    rrdc_connect (opt_daemon);
+    if (rrdc_is_connected (opt_daemon))
+           status = rrdc_fetch (argv[optind], cf, start, end, step,
+                           ds_cnt, ds_namv, data);
+
+    else
+           status = rrd_fetch_r(argv[optind], cf, start, end, step,
+                           ds_cnt, ds_namv, data);
+
     if (status != 0)
         return (-1);
     return (0);