diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/irc/irc_client.cpp | 5 | ||||
-rw-r--r-- | src/main.cpp | 15 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index b0d3a47..de6b089 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -182,6 +182,11 @@ void IrcClient::start() { if (this->is_connecting() || this->is_connected()) return; + if (this->ports_to_try.empty()) + { + this->bridge.send_xmpp_message(this->hostname, "", "Can not connect to IRC server: no port specified."); + return; + } std::string port; bool tls; std::tie(port, tls) = this->ports_to_try.top(); diff --git a/src/main.cpp b/src/main.cpp index 019dff0..488032d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,7 +12,9 @@ #include <atomic> #include <signal.h> -#include <litesql.hpp> +#ifdef USE_DATABASE +# include <litesql.hpp> +#endif // A flag set by the SIGINT signal handler. static std::atomic<bool> stop(false); @@ -83,11 +85,14 @@ int main(int ac, char** av) if (hostname.empty()) return config_help("hostname"); + +#ifdef USE_DATABASE try { - open_database(); - } catch (const litesql::DatabaseError&) { - return 1; - } + open_database(); + } catch (const litesql::DatabaseError&) { + return 1; + } +#endif // Block the signals we want to manage. They will be unblocked only during // the epoll_pwait or ppoll calls. This avoids some race conditions, |