summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xmpp/biboumi_adhoc_commands.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/xmpp/biboumi_adhoc_commands.cpp b/src/xmpp/biboumi_adhoc_commands.cpp
index 10951cd..d9162d7 100644
--- a/src/xmpp/biboumi_adhoc_commands.cpp
+++ b/src/xmpp/biboumi_adhoc_commands.cpp
@@ -13,6 +13,8 @@
#include <louloulibs.h>
+#include <algorithm>
+
using namespace std::string_literals;
void DisconnectUserStep1(XmppComponent* xmpp_component, AdhocSession&, XmlNode& command_node)
@@ -259,7 +261,13 @@ void ConfigureIrcServerStep2(XmppComponent*, AdhocSession& session, XmlNode& com
else if (field->get_tag("var") == "username" &&
value && !value->get_inner().empty())
- options.username = value->get_inner();
+ {
+ auto username = value->get_inner();
+ // The username must not contain spaces
+ std::replace(&username[0], &username[username.size() - 1],
+ ' ', '_');
+ options.username = username;
+ }
else if (field->get_tag("var") == "realname" &&
value && !value->get_inner().empty())