]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
add new rrdc_create_r2 function to support new sources syntax
authorPeter Stamfest <peter@stamfest.at>
Wed, 13 Aug 2014 18:26:55 +0000 (20:26 +0200)
committerPeter Stamfest <peter@stamfest.at>
Sun, 31 Aug 2014 20:15:32 +0000 (22:15 +0200)
src/rrd_client.c
src/rrd_client.h
src/rrd_create.c

index dc59d3895d1d0266d977963db6a29076073aba4a..9c1ae3d3e43e3af5da72a1fcab863d3d263e10b8 100644 (file)
@@ -1202,6 +1202,17 @@ int rrdc_create (const char *filename, /* {{{ */
     int no_overwrite,
     int argc,
     const char **argv)
+{
+    return rrdc_create_r2(filename, pdp_step, last_up, no_overwrite, NULL, argc, argv);
+}
+
+int rrdc_create_r2(const char *filename, /* {{{ */
+    unsigned long pdp_step,
+    time_t last_up,
+    int no_overwrite,
+    const char **sources,
+    int argc,
+    const char **argv)
 {
   char buffer[RRD_CMD_MAX];
   char *buffer_ptr;
@@ -1243,6 +1254,14 @@ int rrdc_create (const char *filename, /* {{{ */
   if(no_overwrite) {
     status = buffer_add_string ("-O", &buffer_ptr, &buffer_free);
   }
+  
+  if (sources != NULL) {
+    for (const char **p = sources ; *p ; p++) {
+      buffer_add_string ("-r", &buffer_ptr, &buffer_free);
+      buffer_add_string (*p, &buffer_ptr, &buffer_free);
+    }
+  }
+  
   if (status != 0)
   {
     mutex_unlock (&lock);
index 873f5b90f7d75b59cb55b42d80d51e0718e1da05..4984bc5936c2d6391f259f50096dbd9ba3bbda28 100644 (file)
@@ -60,6 +60,13 @@ int rrdc_create (const char *filename,
     int argc,
     const char **argv);
 
+int rrdc_create_r2 (const char *filename,
+    unsigned long pdp_step,
+    time_t last_up,
+    int no_overwrite,
+    const char **sources,
+    int argc,
+    const char **argv);
 
 int rrdc_flush (const char *filename);
 int rrdc_forget (const char *filename);
index 7170326cbc0e6f90b8dd3729b7101c93ae4808b2..a4a3f3ff95166d5d7c24cbbbafca56ecd644d35a 100644 (file)
@@ -180,8 +180,9 @@ int rrd_create(
     }
     rrdc_connect (opt_daemon);
     if (rrdc_is_connected (opt_daemon)) {
-        rc = rrdc_create (argv[optind],
-                      pdp_step, last_up, opt_no_overwrite,
+        rc = rrdc_create_r2(argv[optind],
+                      pdp_step, last_up, opt_no_overwrite, 
+                      sources_array,
                       argc - optind - 1, (const char **) (argv + optind + 1));
        } else {
         rc = rrd_create_r2(argv[optind],