X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_vl_lookup.c;h=a0237841eb43a7aebea172bed7246cd71f0e0bea;hb=db35efb33e81d0a013e09a8a6ffa362ad5962f7c;hp=f0f0b4632ecafda01572e7d3252e25fc77c5136d;hpb=218c57128f2e54960133cff3e774b5ef9944068a;p=collectd.git diff --git a/src/utils_vl_lookup.c b/src/utils_vl_lookup.c index f0f0b463..a0237841 100644 --- a/src/utils_vl_lookup.c +++ b/src/utils_vl_lookup.c @@ -33,6 +33,10 @@ #include "utils_vl_lookup.h" #include "utils_avltree.h" +#if HAVE_LIBKSTAT +kstat_ctl_t *kc; +#endif /* HAVE_LIBKSTAT */ + #if BUILD_TEST # define sstrncpy strncpy # define plugin_log(s, ...) do { \ @@ -153,7 +157,7 @@ static int lu_copy_ident_to_match_part (part_match_t *match_part, /* {{{ */ assert (sizeof (match_part->str) > len); /* strip trailing slash */ match_part->str[len - 2] = 0; - + status = regcomp (&match_part->regex, match_part->str, /* flags = */ REG_EXTENDED); if (status != 0) @@ -165,7 +169,7 @@ static int lu_copy_ident_to_match_part (part_match_t *match_part, /* {{{ */ return (EINVAL); } match_part->is_regex = 1; - + return (0); } /* }}} int lu_copy_ident_to_match_part */ @@ -200,13 +204,12 @@ static void *lu_create_user_obj (lookup_t *obj, /* {{{ */ { user_obj_t *user_obj; - user_obj = malloc (sizeof (*user_obj)); + user_obj = calloc (1, sizeof (*user_obj)); if (user_obj == NULL) { - ERROR ("utils_vl_lookup: malloc failed."); + ERROR ("utils_vl_lookup: calloc failed."); return (NULL); } - memset (user_obj, 0, sizeof (*user_obj)); user_obj->next = NULL; user_obj->user_obj = obj->cb_user_class (ds, vl, user_class->user_class); @@ -333,7 +336,7 @@ static int lu_handle_user_class_list (lookup_t *obj, /* {{{ */ { user_class_list_t *ptr; int retval = 0; - + for (ptr = user_class_list; ptr != NULL; ptr = ptr->next) { int status; @@ -369,16 +372,15 @@ static by_type_entry_t *lu_search_by_type (lookup_t *obj, /* {{{ */ return (NULL); } - by_type = malloc (sizeof (*by_type)); + by_type = calloc (1, sizeof (*by_type)); if (by_type == NULL) { - ERROR ("utils_vl_lookup: malloc failed."); + ERROR ("utils_vl_lookup: calloc failed."); sfree (type_copy); return (NULL); } - memset (by_type, 0, sizeof (*by_type)); by_type->wildcard_plugin_list = NULL; - + by_type->by_plugin_tree = c_avl_create ((void *) strcmp); if (by_type->by_plugin_tree == NULL) { @@ -399,7 +401,7 @@ static by_type_entry_t *lu_search_by_type (lookup_t *obj, /* {{{ */ sfree (type_copy); return (NULL); } - + return (by_type); } /* }}} by_type_entry_t *lu_search_by_type */ @@ -505,7 +507,7 @@ static void lu_destroy_user_class_list (lookup_t *obj, /* {{{ */ static void lu_destroy_by_type (lookup_t *obj, /* {{{ */ by_type_entry_t *by_type) { - + while (42) { char *plugin = NULL; @@ -540,13 +542,12 @@ lookup_t *lookup_create (lookup_class_callback_t cb_user_class, /* {{{ */ lookup_free_class_callback_t cb_free_class, lookup_free_obj_callback_t cb_free_obj) { - lookup_t *obj = malloc (sizeof (*obj)); + lookup_t *obj = calloc (1, sizeof (*obj)); if (obj == NULL) { - ERROR ("utils_vl_lookup: malloc failed."); + ERROR ("utils_vl_lookup: calloc failed."); return (NULL); } - memset (obj, 0, sizeof (*obj)); obj->by_type_tree = c_avl_create ((void *) strcmp); if (obj->by_type_tree == NULL) @@ -601,13 +602,12 @@ int lookup_add (lookup_t *obj, /* {{{ */ if (by_type == NULL) return (-1); - user_class_obj = malloc (sizeof (*user_class_obj)); + user_class_obj = calloc (1, sizeof (*user_class_obj)); if (user_class_obj == NULL) { - ERROR ("utils_vl_lookup: malloc failed."); + ERROR ("utils_vl_lookup: calloc failed."); return (ENOMEM); } - memset (user_class_obj, 0, sizeof (*user_class_obj)); pthread_mutex_init (&user_class_obj->entry.lock, /* attr = */ NULL); user_class_obj->entry.user_class = user_class; lu_copy_ident_to_match (&user_class_obj->entry.match, ident, group_by); @@ -651,6 +651,6 @@ int lookup_search (lookup_t *obj, /* {{{ */ return (status); retval += status; } - + return (retval); } /* }}} lookup_search */