ra->options = array_create ();
ra->data = array_create ();
ra->calc = array_create ();
- ra->draw = array_create ();
+ ra->areas = array_create ();
+ ra->lines = array_create ();
if ((ra->options == NULL)
|| (ra->data == NULL)
|| (ra->calc == NULL)
- || (ra->draw == NULL))
+ || (ra->areas == NULL)
+ || (ra->lines == NULL))
{
ra_destroy (ra);
return (NULL);
array_destroy (ra->options);
array_destroy (ra->data);
array_destroy (ra->calc);
- array_destroy (ra->draw);
+ array_destroy (ra->areas);
+ array_destroy (ra->lines);
free (ra);
} /* }}} void ra_destroy */
return (array_argc (ra->options)
+ array_argc (ra->data)
+ array_argc (ra->calc)
- + array_argc (ra->draw));
+ + array_argc (ra->areas)
+ + array_argc (ra->lines));
} /* }}} int ra_argc */
char **ra_argv (rrd_args_t *ra) /* {{{ */
return (NULL);
pos = 0;
+ argv[0] = NULL;
#define APPEND_FIELD(field) do \
{ \
pos += ary_argc; \
argv[pos] = NULL; \
} \
- free (ary_argv); \
} while (0)
APPEND_FIELD (options);
APPEND_FIELD (data);
APPEND_FIELD (calc);
- APPEND_FIELD (draw);
+ APPEND_FIELD (areas);
+ APPEND_FIELD (lines);
#undef APPEND_FIELD
return (argv);
} /* }}} char **ra_argv */
+void ra_argv_free (char **argv) /* {{{ */
+{
+ /* The pointers contained in the "argv" come from "array_argv". We don't need
+ * to free them. We only need to free what we actually alloced directly in
+ * "ra_argv". */
+ free (argv);
+} /* }}} void ra_argv_free */
+
/* vim: set sw=2 sts=2 et fdm=marker : */