Merge remote-tracking branch 'origin/master'
[collectd.git] / src / rrdcached.c
index e5e11d4..e77be2d 100644 (file)
@@ -121,6 +121,21 @@ static int value_list_to_filename (char *buffer, size_t buffer_size,
   int status;
   size_t len;
 
+  if (datadir != NULL)
+  {
+    size_t datadir_len = strlen (datadir) + 1;
+
+    if (datadir_len >= buffer_size)
+      return (ENOMEM);
+
+    sstrncpy (buffer, datadir, buffer_size);
+    buffer[datadir_len - 1] = '/';
+    buffer[datadir_len] = 0;
+
+    buffer += datadir_len;
+    buffer_size -= datadir_len;
+  }
+
   status = FORMAT_VL (buffer, buffer_size, vl);
   if (status != 0)
     return (status);