X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_ignorelist.c;h=d2546aab3db1a1506d909cb8309950d1195d4dab;hb=633c3966f770e4d46651a2fe219a18d8a9907a9f;hp=532eb4b0029837318cf60a2adbecf901a2590b3a;hpb=e58c29f5f4bddb1f169935c6e131a311c81911e6;p=collectd.git diff --git a/src/utils_ignorelist.c b/src/utils_ignorelist.c index 532eb4b0..0ad252bb 100644 --- a/src/utils_ignorelist.c +++ b/src/utils_ignorelist.c @@ -1,6 +1,7 @@ /** * collectd - src/utils_ignorelist.c * Copyright (C) 2006 Lubos Stanek + * Copyright (C) 2008 Florian Forster * * This program is free software; you can redistribute it and/ * or modify it under the terms of the GNU General Public Li- @@ -19,6 +20,7 @@ * * Authors: * Lubos Stanek + * Florian Forster **/ /** * ignorelist handles plugin's list of configured collectable @@ -47,8 +49,12 @@ * return; **/ +#if HAVE_CONFIG_H +# include "config.h" +#endif + #include "common.h" -#include "utils_debug.h" +#include "plugin.h" #include "utils_ignorelist.h" /* @@ -94,7 +100,7 @@ static int ignorelist_append_regex(ignorelist_t *il, const char *entry) /* create buffer */ if ((regtemp = malloc(sizeof(regex_t))) == NULL) { - syslog (LOG_ERR, "cannot allocate new config entry"); + ERROR ("cannot allocate new config entry"); return (1); } memset (regtemp, '\0', sizeof(regex_t)); @@ -111,14 +117,14 @@ static int ignorelist_append_regex(ignorelist_t *il, const char *entry) { fprintf (stderr, "Cannot compile regex %s: %i/%s", entry, rcompile, regerr); - syslog (LOG_ERR, "Cannot compile regex %s: %i/%s", + ERROR ("Cannot compile regex %s: %i/%s", entry, rcompile, regerr); } else { fprintf (stderr, "Cannot compile regex %s: %i", entry, rcompile); - syslog (LOG_ERR, "Cannot compile regex %s: %i", + ERROR ("Cannot compile regex %s: %i", entry, rcompile); } @@ -127,12 +133,12 @@ static int ignorelist_append_regex(ignorelist_t *il, const char *entry) regfree (regtemp); return (1); } - DBG("regex compiled: %s - %i", entry, rcompile); + DEBUG("regex compiled: %s - %i", entry, rcompile); /* create new entry */ if ((new = malloc(sizeof(ignorelist_item_t))) == NULL) { - syslog (LOG_ERR, "cannot allocate new config entry"); + ERROR ("cannot allocate new config entry"); regfree (regtemp); return (1); } @@ -153,7 +159,7 @@ static int ignorelist_append_string(ignorelist_t *il, const char *entry) /* create new entry */ if ((new = malloc(sizeof(ignorelist_item_t))) == NULL ) { - syslog (LOG_ERR, "cannot allocate new entry"); + ERROR ("cannot allocate new entry"); return (1); } memset (new, '\0', sizeof(ignorelist_item_t)); @@ -213,10 +219,6 @@ ignorelist_t *ignorelist_create (int invert) /* smalloc exits if it failes */ il = (ignorelist_t *) smalloc (sizeof (ignorelist_t)); - DBG("Ignorelist created 0x%p, default is %s", - (void *) il, - invert ? "collect" : "ignore"); - memset (il, '\0', sizeof (ignorelist_t)); /* @@ -236,8 +238,6 @@ void ignorelist_free (ignorelist_t *il) ignorelist_item_t *this; ignorelist_item_t *next; - DBG ("(il = 0x%p)", (void *) il); - if (il == NULL) return; @@ -270,7 +270,7 @@ void ignorelist_set_invert (ignorelist_t *il, int invert) { if (il == NULL) { - DBG("ignore call with ignorelist_t == NULL"); + DEBUG("ignore call with ignorelist_t == NULL"); return; } @@ -288,7 +288,7 @@ int ignorelist_add (ignorelist_t *il, const char *entry) if (il == NULL) { - DBG ("add called with ignorelist_t == NULL"); + DEBUG ("add called with ignorelist_t == NULL"); return (1); } @@ -297,7 +297,7 @@ int ignorelist_add (ignorelist_t *il, const char *entry) /* append nothing */ if (entry_len == 0) { - DBG("not appending: empty entry"); + DEBUG("not appending: empty entry"); return (1); } @@ -306,20 +306,21 @@ int ignorelist_add (ignorelist_t *il, const char *entry) if ((entry_len > 2) && (entry[0] == '/') && entry[entry_len - 1] == '/') { char *entry_copy; + size_t entry_copy_size; /* We need to copy `entry' since it's const */ - entry_copy = smalloc (entry_len); - memset (entry_copy, '\0', entry_len); - strncpy (entry_copy, entry + 1, entry_len - 2); + entry_copy_size = entry_len - 1; + entry_copy = smalloc (entry_copy_size); + sstrncpy (entry_copy, entry + 1, entry_copy_size); - DBG("I'm about to add regex entry: %s", entry_copy); + DEBUG("I'm about to add regex entry: %s", entry_copy); ret = ignorelist_append_regex(il, entry_copy); sfree (entry_copy); } else #endif { - DBG("to add entry: %s", entry); + DEBUG("to add entry: %s", entry); ret = ignorelist_append_string(il, entry); } @@ -334,10 +335,8 @@ int ignorelist_match (ignorelist_t *il, const char *entry) { ignorelist_item_t *traverse; - assert (il != NULL); - /* if no entries, collect all */ - if (il->head == NULL) + if ((il == NULL) || (il->head == NULL)) return (0); if ((entry == NULL) || (strlen (entry) == 0))