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 ((status < 0) || (((size_t)status) >= buf_len))
return (ENOMEM);
+ while((c = strchr(buf, '#')) || (c = strchr(buf, '+'))) {
+ *c = '_';
+ }
+
return (0);
} /* int format_topic */
}
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 */
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",