X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_graphite.c;h=ebc5ce2041bfdaba89045596c62ceae0eb6a4929;hb=03af72c5ef8b98ddfcab87ea44b764f5b0e165aa;hp=2dce2d716cfb64e8e2802eb1f9e18564979b92d9;hpb=da612fa9c6a3343b43789569d64197d7c690be52;p=collectd.git diff --git a/src/write_graphite.c b/src/write_graphite.c index 2dce2d71..ebc5ce20 100644 --- a/src/write_graphite.c +++ b/src/write_graphite.c @@ -46,7 +46,6 @@ #include "common.h" #include "plugin.h" -#include "configfile.h" #include "utils_complain.h" #include "utils_format_graphite.h" @@ -240,6 +239,8 @@ static int wg_callback_init (struct wg_callback *cb) continue; } + set_sock_opts (cb->sock_fd); + status = connect (cb->sock_fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen); if (status != 0) { @@ -473,7 +474,6 @@ static int config_set_char (char *dest, static int wg_config_node (oconfig_item_t *ci) { struct wg_callback *cb; - user_data_t user_data = { 0 }; char callback_name[DATA_MAX_NAME_LEN]; int status = 0; @@ -548,6 +548,9 @@ static int wg_config_node (oconfig_item_t *ci) else if (strcasecmp ("AlwaysAppendDS", child->key) == 0) cf_util_get_flag (child, &cb->format_flags, GRAPHITE_ALWAYS_APPEND_DS); + else if (strcasecmp ("DropDuplicateFields", child->key) == 0) + cf_util_get_flag (child, &cb->format_flags, + GRAPHITE_DROP_DUPE_FIELDS); else if (strcasecmp ("EscapeCharacter", child->key) == 0) config_set_char (&cb->escape_char, child); else @@ -575,12 +578,13 @@ static int wg_config_node (oconfig_item_t *ci) ssnprintf (callback_name, sizeof (callback_name), "write_graphite/%s", cb->name); - user_data.data = cb; - user_data.free_func = wg_callback_free; - plugin_register_write (callback_name, wg_write, &user_data); + plugin_register_write (callback_name, wg_write, + &(user_data_t) { + .data = cb, + .free_func = wg_callback_free, + }); - user_data.free_func = NULL; - plugin_register_flush (callback_name, wg_flush, &user_data); + plugin_register_flush (callback_name, wg_flush, &(user_data_t) { .data = cb }); return (0); }