From: Denys Fedoryshchenko Date: Sun, 5 Feb 2017 19:40:33 +0000 (+0000) Subject: mqtt plugin: Fix invalid symbols in topic name. X-Git-Tag: archive/raspbian/5.12.0-3+rpi1~1^2^2^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2c6f7a1d914c2c5a63de6a445d0a0865c8a12651;p=collectd.git mqtt plugin: Fix invalid symbols in topic name. Gbp-Pq: Name mqtt_invalid_symbols.patch --- diff --git a/src/mqtt.c b/src/mqtt.c index 7e6ce72..315974b 100644 --- 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; + char *c; 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); + while((c = strchr(buf, '#')) || (c = strchr(buf, '+'))) { + *c = '_'; + } + return (0); } /* int format_topic */