projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-5.6' into collectd-5.7
[collectd.git]
/
src
/
mqtt.c
diff --git
a/src/mqtt.c
b/src/mqtt.c
index
6b76af9
..
315974b
100644
(file)
--- a/
src/mqtt.c
+++ b/
src/mqtt.c
@@
-462,6
+462,7
@@
static int format_topic(char *buf, size_t buf_len, data_set_t const *ds,
value_list_t const *vl, mqtt_client_conf_t *conf) {
char name[MQTT_MAX_TOPIC_SIZE];
int status;
value_list_t const *vl, mqtt_client_conf_t *conf) {
char name[MQTT_MAX_TOPIC_SIZE];
int status;
+ char *c;
if ((conf->topic_prefix == NULL) || (conf->topic_prefix[0] == 0))
return (FORMAT_VL(buf, buf_len, vl));
if ((conf->topic_prefix == NULL) || (conf->topic_prefix[0] == 0))
return (FORMAT_VL(buf, buf_len, vl));
@@
-474,6
+475,10
@@
static int format_topic(char *buf, size_t buf_len, data_set_t const *ds,
if ((status < 0) || (((size_t)status) >= buf_len))
return (ENOMEM);
if ((status < 0) || (((size_t)status) >= buf_len))
return (ENOMEM);
+ while((c = strchr(buf, '#')) || (c = strchr(buf, '+'))) {
+ *c = '_';
+ }
+
return (0);
} /* int format_topic */
return (0);
} /* int format_topic */
@@
-604,9
+609,9
@@
static int mqtt_config_publisher(oconfig_item_t *ci) {
}
ssnprintf(cb_name, sizeof(cb_name), "mqtt/%s", conf->name);
}
ssnprintf(cb_name, sizeof(cb_name), "mqtt/%s", conf->name);
- user_data_t user_data = {.data = conf};
-
-
plugin_register_write(cb_name, mqtt_write, &user_data
);
+ plugin_register_write(cb_name, mqtt_write, &(user_data_t){
+ .data = conf,
+
}
);
return (0);
} /* mqtt_config_publisher */
return (0);
} /* mqtt_config_publisher */
@@
-735,7
+740,8
@@
static int mqtt_init(void) {
status = plugin_thread_create(&subscribers[i]->thread,
/* attrs = */ NULL,
/* func = */ subscribers_thread,
status = plugin_thread_create(&subscribers[i]->thread,
/* attrs = */ NULL,
/* func = */ subscribers_thread,
- /* args = */ subscribers[i]);
+ /* args = */ subscribers[i],
+ /* name = */ "mqtt");
if (status != 0) {
char errbuf[1024];
ERROR("mqtt plugin: pthread_create failed: %s",
if (status != 0) {
char errbuf[1024];
ERROR("mqtt plugin: pthread_create failed: %s",