**/
#include "collectd.h"
+
#include "common.h"
#include "utils_curl_stats.h"
curl_stats_t *curl_stats_from_config (oconfig_item_t *ci)
{
curl_stats_t *s;
- int i;
if (ci == NULL)
return NULL;
- s = calloc (sizeof (*s), 1);
+ s = calloc (1, sizeof (*s));
if (s == NULL)
return NULL;
- for (i = 0; i < ci->children_num; ++i)
+ for (int i = 0; i < ci->children_num; ++i)
{
oconfig_item_t *c = ci->children + i;
size_t field;
+ _Bool enabled = 0;
+
for (field = 0; field < STATIC_ARRAY_SIZE (field_specs); ++field) {
if (! strcasecmp (c->key, field_specs[field].config_key))
break;
return NULL;
}
- if ((c->values_num != 1)
- || (c->values[0].type != OCONFIG_TYPE_BOOLEAN)) {
- ERROR ("curl stats: `%s' expects a single boolean argument", c->key);
+
+ if (cf_util_get_boolean (c, &enabled) != 0) {
free (s);
return NULL;
}
-
- if (c->values[0].value.boolean)
+ if (enabled)
enable_field (s, field_specs[field].offset);
}
const char *hostname, const char *plugin, const char *plugin_instance)
{
value_list_t vl = VALUE_LIST_INIT;
- size_t field;
if (s == NULL)
return 0;
if (plugin_instance != NULL)
sstrncpy (vl.plugin_instance, plugin_instance, sizeof (vl.plugin_instance));
- for (field = 0; field < STATIC_ARRAY_SIZE (field_specs); ++field)
+ for (size_t field = 0; field < STATIC_ARRAY_SIZE (field_specs); ++field)
{
int status;