Big bunch of improvements for the caching daemon.
[rrdtool.git] / src / rrd_flush.c
index ba5f4f2..218a65a 100644 (file)
@@ -71,23 +71,12 @@ int rrd_cmd_flush (int argc, char **argv)
         return (-1);
     }
 
-    if (opt_daemon == NULL)
-    {
-        char *temp;
-
-        temp = getenv (ENV_RRDCACHED_ADDRESS);
-        if (temp != NULL)
-        {
-            opt_daemon = strdup (temp);
-            if (opt_daemon == NULL)
-            {
-                rrd_set_error("strdup failed.");
-                return (-1);
-            }
-        }
-    }
+    /* try to connect to rrdcached */
+    status = rrdc_connect(opt_daemon);
+    if (opt_daemon) free(opt_daemon);
+    if (status != 0) return status;
 
-    if (opt_daemon == NULL)
+    if (! rrdc_is_connected(opt_daemon))
     {
         rrd_set_error ("Daemon address unknown. Please use the \"--daemon\" "
                 "option to set an address on the command line or set the "
@@ -96,19 +85,7 @@ int rrd_cmd_flush (int argc, char **argv)
         return (-1);
     }
 
-    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);
-
-    rrdc_disconnect ();
+    status = rrdc_flush(argv[optind]);
 
     return ((status == 0) ? 0 : -1);
 } /* int rrd_flush */