**/
#include "collectd.h"
+
#include "configfile.h"
#include "plugin.h"
#include "utils_complain.h"
return (NULL);
sz = strlen (orig) + 1;
- dest = (char *) malloc (sz);
+ dest = malloc (sz);
if (dest == NULL)
return (NULL);
return (-1);
}
- m = (fc_match_t *) malloc (sizeof (*m));
+ m = calloc (1, sizeof (*m));
if (m == NULL)
{
- ERROR ("fc_config_add_match: malloc failed.");
+ ERROR ("fc_config_add_match: calloc failed.");
return (-1);
}
- memset (m, 0, sizeof (*m));
sstrncpy (m->name, ptr->name, sizeof (m->name));
memcpy (&m->proc, &ptr->proc, sizeof (m->proc));
return (-1);
}
- t = (fc_target_t *) malloc (sizeof (*t));
+ t = calloc (1, sizeof (*t));
if (t == NULL)
{
- ERROR ("fc_config_add_target: malloc failed.");
+ ERROR ("fc_config_add_target: calloc failed.");
return (-1);
}
- memset (t, 0, sizeof (*t));
sstrncpy (t->name, ptr->name, sizeof (t->name));
memcpy (&t->proc, &ptr->proc, sizeof (t->proc));
{
t->user_data = NULL;
}
-
+
if (*targets_head != NULL)
{
ptr = *targets_head;
fc_rule_t *rule;
char rule_name[2*DATA_MAX_NAME_LEN] = "Unnamed rule";
int status = 0;
- int i;
if (ci->values_num > 1)
{
return (-1);
}
- rule = (fc_rule_t *) malloc (sizeof (*rule));
+ rule = calloc (1, sizeof (*rule));
if (rule == NULL)
{
- ERROR ("fc_config_add_rule: malloc failed.");
+ ERROR ("fc_config_add_rule: calloc failed.");
return (-1);
}
- memset (rule, 0, sizeof (*rule));
- rule->next = NULL;
if (ci->values_num == 1)
{
ci->values[0].value.string);
}
- for (i = 0; i < ci->children_num; i++)
+ for (int i = 0; i < ci->children_num; i++)
{
oconfig_item_t *option = ci->children + i;
{
fc_chain_t *chain = NULL;
int status = 0;
- int i;
int new_chain = 1;
if ((ci->values_num != 1)
if (chain == NULL)
{
- chain = (fc_chain_t *) malloc (sizeof (*chain));
+ chain = calloc (1, sizeof (*chain));
if (chain == NULL)
{
- ERROR ("fc_config_add_chain: malloc failed.");
+ ERROR ("fc_config_add_chain: calloc failed.");
return (-1);
}
- memset (chain, 0, sizeof (*chain));
sstrncpy (chain->name, ci->values[0].value.string, sizeof (chain->name));
- chain->rules = NULL;
- chain->targets = NULL;
- chain->next = NULL;
}
- for (i = 0; i < ci->children_num; i++)
+ for (int i = 0; i < ci->children_num; i++)
{
oconfig_item_t *option = ci->children + i;
static int fc_bit_write_create (const oconfig_item_t *ci, /* {{{ */
void **user_data)
{
- int i;
-
fc_writer_t *plugin_list = NULL;
size_t plugin_list_len = 0;
- for (i = 0; i < ci->children_num; i++)
+ for (int i = 0; i < ci->children_num; i++)
{
oconfig_item_t *child = ci->children + i;
fc_writer_t *temp;
- int j;
if (strcasecmp ("Plugin", child->key) != 0)
{
continue;
}
- for (j = 0; j < child->values_num; j++)
+ for (int j = 0; j < child->values_num; j++)
{
char *plugin;
}
plugin = child->values[j].value.string;
- temp = (fc_writer_t *) realloc (plugin_list, (plugin_list_len + 2)
+ temp = realloc (plugin_list, (plugin_list_len + 2)
* (sizeof (*plugin_list)));
if (temp == NULL)
{
static int fc_bit_write_destroy (void **user_data) /* {{{ */
{
fc_writer_t *plugin_list;
- size_t i;
if ((user_data == NULL) || (*user_data == NULL))
return (0);
plugin_list = *user_data;
- for (i = 0; plugin_list[i].plugin != NULL; i++)
+ for (size_t i = 0; plugin_list[i].plugin != NULL; i++)
free (plugin_list[i].plugin);
free (plugin_list);
}
else
{
- size_t i;
-
- for (i = 0; plugin_list[i].plugin != NULL; i++)
+ for (size_t i = 0; plugin_list[i].plugin != NULL; i++)
{
status = plugin_write (plugin_list[i].plugin, ds, vl);
if (status != 0)
static int fc_init_once (void) /* {{{ */
{
static int done = 0;
- target_proc_t tproc;
+ target_proc_t tproc = { 0 };
if (done != 0)
return (0);
- memset (&tproc, 0, sizeof (tproc));
tproc.create = fc_bit_jump_create;
tproc.destroy = fc_bit_jump_destroy;
tproc.invoke = fc_bit_jump_invoke;
DEBUG ("fc_register_match (%s);", name);
- m = (fc_match_t *) malloc (sizeof (*m));
+ m = calloc (1, sizeof (*m));
if (m == NULL)
return (-ENOMEM);
- memset (m, 0, sizeof (*m));
sstrncpy (m->name, name, sizeof (m->name));
memcpy (&m->proc, &proc, sizeof (m->proc));
- m->next = NULL;
if (match_list_head == NULL)
{
DEBUG ("fc_register_target (%s);", name);
- t = (fc_target_t *) malloc (sizeof (*t));
+ t = calloc (1, sizeof (*t));
if (t == NULL)
return (-ENOMEM);
- memset (t, 0, sizeof (*t));
sstrncpy (t->name, name, sizeof (t->name));
memcpy (&t->proc, &proc, sizeof (t->proc));
- t->next = NULL;
if (target_list_head == NULL)
{
fc_chain_t *fc_chain_get_by_name (const char *chain_name) /* {{{ */
{
- fc_chain_t *chain;
-
if (chain_name == NULL)
return (NULL);
- for (chain = chain_list_head; chain != NULL; chain = chain->next)
+ for (fc_chain_t *chain = chain_list_head; chain != NULL; chain = chain->next)
if (strcasecmp (chain_name, chain->name) == 0)
return (chain);
int fc_process_chain (const data_set_t *ds, value_list_t *vl, /* {{{ */
fc_chain_t *chain)
{
- fc_rule_t *rule;
fc_target_t *target;
- int status;
+ int status = FC_TARGET_CONTINUE;
if (chain == NULL)
return (-1);
DEBUG ("fc_process_chain (chain = %s);", chain->name);
- status = FC_TARGET_CONTINUE;
- for (rule = chain->rules; rule != NULL; rule = rule->next)
+ for (fc_rule_t *rule = chain->rules; rule != NULL; rule = rule->next)
{
fc_match_t *match;
+ status = FC_TARGET_CONTINUE;
if (rule->name[0] != 0)
{
}
}
- if ((status == FC_TARGET_STOP)
- || (status == FC_TARGET_RETURN))
+ if ((status == FC_TARGET_STOP) || (status == FC_TARGET_RETURN))
{
if (rule->name[0] != 0)
{
}
break;
}
- else
- {
- status = FC_TARGET_CONTINUE;
- }
} /* for (rule) */
- if (status == FC_TARGET_STOP)
- return (FC_TARGET_STOP);
- else if (status == FC_TARGET_RETURN)
- return (FC_TARGET_CONTINUE);
-
- /* for-loop has been aborted: A target returned `FC_TARGET_STOP' */
- if (rule != NULL)
- return (FC_TARGET_CONTINUE);
+ if ((status == FC_TARGET_STOP) || (status == FC_TARGET_RETURN))
+ return (status);
DEBUG ("fc_process_chain (%s): Executing the default targets.",
chain->name);