src/rrd_{fetch,graph,update}.c: Use the `RRDCACHED_ADDRESS' environment variable..
authorFlorian Forster <octo@verplant.org>
Wed, 25 Jun 2008 12:00:44 +0000 (14:00 +0200)
committerFlorian Forster <octo@verplant.org>
Wed, 25 Jun 2008 12:00:44 +0000 (14:00 +0200)
..as default daemon address.

src/rrd_client.h
src/rrd_fetch.c
src/rrd_graph.c
src/rrd_update.c

index 003c4e4..895ff92 100644 (file)
@@ -24,6 +24,7 @@
 
 #define RRDCACHED_DEFAULT_ADDRESS "unix:/tmp/rrdd.sock"
 #define RRDCACHED_DEFAULT_PORT "42217"
+#define ENV_RRDCACHED_ADDRESS "RRDCACHED_ADDRESS"
 
 int rrdc_connect (const char *addr);
 int rrdc_disconnect (void);
index c745f06..26c3324 100644 (file)
@@ -166,6 +166,22 @@ int rrd_fetch(
         return -1;
     }
 
+    if (daemon == NULL)
+    {
+        char *temp;
+
+        temp = getenv (ENV_RRDCACHED_ADDRESS);
+        if (temp != NULL)
+        {
+            daemon = strdup (temp);
+            if (daemon == NULL)
+            {
+                rrd_set_error("strdup failed.");
+               return (-1);
+            }
+        }
+    }
+
     cf = argv[optind + 1];
 
     if (rrd_fetch_r(argv[optind], cf, start, end, step, daemon, ds_cnt,
index 1e597d1..7dfb9ce 100644 (file)
@@ -4222,6 +4222,26 @@ void rrd_graph_options(
                 rrd_set_error("unknown option '%s'", argv[optind - 1]);
             return;
         }
+    } /* while (1) */
+
+    if (im->use_rrdcached == 0)
+    {
+        char *temp;
+
+        temp = getenv (ENV_RRDCACHED_ADDRESS);
+        if (temp != NULL)
+        {
+            int status;
+
+            status = rrdc_connect (temp);
+            if (status != 0)
+            {
+                rrd_set_error ("rrdc_connect(%s) failed with status %i.",
+                        temp, status);
+                return;
+            }
+            im->use_rrdcached = 1;
+        }
     }
 
     if (im->logarithmic && im->minval <= 0) {
index 2602a82..da68270 100644 (file)
@@ -430,6 +430,22 @@ int rrd_update(
         goto out;
     }
 
+    if ((tmplt == NULL) && (daemon == NULL))
+    {
+        char *temp;
+
+        temp = getenv (ENV_RRDCACHED_ADDRESS);
+        if (temp != NULL)
+        {
+            daemon = strdup (temp);
+            if (daemon == NULL)
+            {
+                rrd_set_error("strdup failed.");
+                goto out;
+            }
+        }
+    }
+
     if (daemon != NULL)
     {
         int status;