2 * collectd - src/utils_cmd_flush.c
3 * Copyright (C) 2008 Sebastian Harl
4 * Copyright (C) 2008 Florian Forster
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; only version 2 of the License is applicable.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 * Sebastian "tokkee" Harl <sh at tokkee.org>
21 * Florian "octo" Forster <octo at verplant.org>
28 int handle_flush (FILE *fh, char **fields, int fields_num)
37 for (i = 1; i < fields_num; i++)
39 char *option = fields[i];
42 if (strncasecmp ("plugin=", option, strlen ("plugin=")) == 0)
44 char *plugin = option + strlen ("plugin=");
46 if (0 == plugin_flush_one (timeout, plugin))
51 else if (strncasecmp ("timeout=", option, strlen ("timeout=")) == 0)
54 char *value = option + strlen ("timeout=");
57 timeout = strtol (value, &endptr, 0);
59 if ((endptr == value) || (0 != errno))
61 else if (0 >= timeout)
69 fprintf (fh, "-1 Cannot parse option %s\n", option);
75 if ((success + error) > 0)
77 fprintf (fh, "0 Done: %i successful, %i errors\n", success, error);
81 plugin_flush_all (timeout);
82 fprintf (fh, "0 Done\n");
87 } /* int handle_flush */
89 /* vim: set sw=4 ts=4 tw=78 noexpandtab : */