changeset 829:963feffc07fe

irccd: fix invalid server load from json
author David Demelier <markand@malikania.fr>
date Thu, 07 Feb 2019 11:42:49 +0100
parents 6cc8f27447ee
children 4f7e46e593fe
files libirccd-daemon/irccd/daemon/server_util.cpp
diffstat 1 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libirccd-daemon/irccd/daemon/server_util.cpp	Tue Feb 05 20:24:00 2019 +0100
+++ b/libirccd-daemon/irccd/daemon/server_util.cpp	Thu Feb 07 11:42:49 2019 +0100
@@ -178,14 +178,19 @@
 	if (!ipv4 || !ipv6)
 		throw server_error(server_error::invalid_family);
 
-	toggle(sv, server::options::ipv4, *ipv4);
-	toggle(sv, server::options::ipv6, *ipv6);
-	toggle(sv, server::options::auto_rejoin, *auto_rejoin);
-	toggle(sv, server::options::join_invite, *join_invite);
-	toggle(sv, server::options::ssl, *ssl);
+	if (ipv4)
+		toggle(sv, server::options::ipv4, *ipv4);
+	if (ipv6)
+		toggle(sv, server::options::ipv6, *ipv6);
+	if (auto_rejoin)
+		toggle(sv, server::options::auto_rejoin, *auto_rejoin);
+	if (join_invite)
+		toggle(sv, server::options::join_invite, *join_invite);
+	if (ssl)
+		toggle(sv, server::options::ssl, *ssl);
 
 #if !defined(IRCCD_HAVE_SSL)
-	if ((server::get_options() & server::options::ssl) == server::options::ssl)
+	if ((sv.get_options() & server::options::ssl) == server::options::ssl)
 		throw server_error(server_error::ssl_disabled);
 #endif