From 02a3031aae2584171cde425345ce3db76231a306 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Mon, 30 Jan 2023 17:36:00 -0800
Subject: [PATCH] Convert spaces to underscores in MQTT topics

e.g. "action/hack/smtp login" -> "smtp_login", best practices and all.
---
 src/sbbs3/mqtt.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/mqtt.c b/src/sbbs3/mqtt.c
index cb82e47242..7cfbbc18b0 100644
--- a/src/sbbs3/mqtt.c
+++ b/src/sbbs3/mqtt.c
@@ -132,6 +132,7 @@ static char* format_topic(struct mqtt* mqtt, enum server_type type, enum topic_d
 
 char* mqtt_topic(struct mqtt* mqtt, enum topic_depth depth, char* str, size_t size, const char* fmt, ...)
 {
+	char* p;
 	va_list argptr;
 	char sbuf[1024]="";
 
@@ -142,7 +143,9 @@ char* mqtt_topic(struct mqtt* mqtt, enum topic_depth depth, char* str, size_t si
 		va_end(argptr);
 	}
 
-	return format_topic(mqtt, mqtt->startup->type, depth, str, size, sbuf);
+	REPLACE_CHARS(sbuf, ' ', '_', p);
+	format_topic(mqtt, mqtt->startup->type, depth, str, size, sbuf);
+	return str;
 }
 
 static int mqtt_sub(struct mqtt* mqtt, const char* topic)
-- 
GitLab