X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Futils_ignorelist.c;h=ff73ad74a4b3ed2cfb9690710fe917902778bd3c;hb=c76419c0cf983f1ecd3d36aa236cc4e3f9cff733;hp=692a1e51bc12c9698025674c8f034d4cd05ba851;hpb=25b5f5c49dd50c64f41b7bf69b8e471b0ffc6f15;p=collectd.git diff --git a/src/daemon/utils_ignorelist.c b/src/daemon/utils_ignorelist.c index 692a1e51..ff73ad74 100644 --- a/src/daemon/utils_ignorelist.c +++ b/src/daemon/utils_ignorelist.c @@ -27,7 +27,7 @@ **/ /** * Usage: - * + * * Define plugin's global pointer variable of type ignorelist_t: * ignorelist_t *myconfig_ignore; * If you know the state of the global ignore (IgnoreSelected), @@ -88,50 +88,43 @@ static inline void ignorelist_append (ignorelist_t *il, ignorelist_item_t *item) } #if HAVE_REGEX_H -static int ignorelist_append_regex(ignorelist_t *il, const char *entry) +static int ignorelist_append_regex(ignorelist_t *il, const char *re_str) { regex_t *re; - ignorelist_item_t *item; + ignorelist_item_t *entry; int status; - /* create buffer */ - re = malloc (sizeof (*re)); + re = calloc (1, sizeof (*re)); if (re == NULL) { - ERROR ("ignorelist_append_regex: malloc failed."); - return ENOMEM; + ERROR ("ignorelist_append_regex: calloc failed."); + return (ENOMEM); } - memset (re, 0, sizeof (*re)); - /* compile regex */ - status = regcomp (re, entry, REG_EXTENDED); + status = regcomp (re, re_str, REG_EXTENDED); if (status != 0) { char errbuf[1024]; - (void) regerror (status, re, errbuf, sizeof (errbuf)); - ERROR ("ignorelist_append_regex: Compiling regular expression \"%s\" failed: %s", entry, errbuf); + ERROR ("utils_ignorelist: regcomp failed: %s", errbuf); + ERROR ("ignorelist_append_regex: Compiling regular expression \"%s\" failed: %s", re_str, errbuf); sfree (re); - return status; + return (status); } - /* create new entry */ - item = malloc (sizeof (*item)); - if (item == NULL) + entry = calloc (1, sizeof (*entry)); + if (entry == NULL) { - ERROR ("ignorelist_append_regex: malloc failed."); + ERROR ("ignorelist_append_regex: calloc failed."); regfree (re); sfree (re); - return ENOMEM; + return (ENOMEM); } - memset (item, 0, sizeof (*item)); - item->rmatch = re; - - /* append new entry */ - ignorelist_append (il, item); + entry->rmatch = re; + ignorelist_append (il, entry); return (0); -} /* int ignorelist_append_regex(ignorelist_t *il, const char *entry) */ +} /* int ignorelist_append_regex */ #endif static int ignorelist_append_string(ignorelist_t *il, const char *entry) @@ -139,12 +132,11 @@ static int ignorelist_append_string(ignorelist_t *il, const char *entry) ignorelist_item_t *new; /* create new entry */ - if ((new = malloc(sizeof(ignorelist_item_t))) == NULL ) + if ((new = calloc(1, sizeof (*new))) == NULL ) { ERROR ("cannot allocate new entry"); return (1); } - memset (new, '\0', sizeof(ignorelist_item_t)); new->smatch = sstrdup(entry); /* append new entry */ @@ -199,10 +191,9 @@ ignorelist_t *ignorelist_create (int invert) { ignorelist_t *il; - il = malloc (sizeof (*il)); + il = calloc (1, sizeof (*il)); if (il == NULL) return NULL; - memset (il, 0, sizeof (*il)); /* * ->ignore == 0 => collect @@ -244,7 +235,6 @@ void ignorelist_free (ignorelist_t *il) } sfree (il); - il = NULL; } /* void ignorelist_destroy (ignorelist_t *il) */ /* @@ -263,7 +253,7 @@ void ignorelist_set_invert (ignorelist_t *il, int invert) /* * append entry into ignorelist_t - * return 1 for success + * return 0 for success */ int ignorelist_add (ignorelist_t *il, const char *entry) { @@ -314,8 +304,6 @@ int ignorelist_add (ignorelist_t *il, const char *entry) */ int ignorelist_match (ignorelist_t *il, const char *entry) { - ignorelist_item_t *traverse; - /* if no entries, collect all */ if ((il == NULL) || (il->head == NULL)) return (0); @@ -324,7 +312,7 @@ int ignorelist_match (ignorelist_t *il, const char *entry) return (0); /* traverse list and check entries */ - for (traverse = il->head; traverse != NULL; traverse = traverse->next) + for (ignorelist_item_t *traverse = il->head; traverse != NULL; traverse = traverse->next) { #if HAVE_REGEX_H if (traverse->rmatch != NULL)