X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcsv.c;h=b5333b436faa1ceb236d1b114e6905875b9316b2;hb=f950fcd91292616b3c4d98cbc4f44e0b4f781d8b;hp=a94b7001025419602961980efa993506e9755b33;hpb=65e9edc6a4c385128eb20dbbca2ed66c9e11d310;p=collectd.git diff --git a/src/csv.c b/src/csv.c index a94b7001..b5333b43 100644 --- a/src/csv.c +++ b/src/csv.c @@ -36,6 +36,7 @@ static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); static char *datadir = NULL; static int store_rates = 0; +static int use_stdio = 0; static int value_list_to_string (char *buffer, int buffer_len, const data_set_t *ds, const value_list_t *vl) @@ -146,6 +147,7 @@ static int value_list_to_filename (char *buffer, int buffer_len, return (-1); offset += status; + if (!use_stdio) { time_t now; struct tm stm; @@ -200,6 +202,16 @@ static int csv_config (const char *key, const char *value) { if (datadir != NULL) free (datadir); + if (strcasecmp ("stdout", value) == 0) + { + use_stdio = 1; + return (0); + } + else if (strcasecmp ("stderr", value) == 0) + { + use_stdio = 2; + return (0); + } datadir = strdup (value); if (datadir != NULL) { @@ -259,6 +271,13 @@ static int csv_write (const data_set_t *ds, const value_list_t *vl) if (value_list_to_string (values, sizeof (values), ds, vl) != 0) return (-1); + if (use_stdio) + { + fprintf (use_stdio == 1 ? stdout : stderr, + "%s=%s\n", filename, values); + return (0); + } + if (stat (filename, &statbuf) == -1) { if (errno == ENOENT)