Use unique_ptr to store the XmlNode’s children
Also fix some constness things
Little cleanup of the XmlNode class
Use map instead of unordered map (it's not slower, and it's shorter).
Use the default move constructor.
XmlNode::to_string uses an ostringstream instead of a string
On my poor benchmark, it was infinitesimally faster.
XmlNodes are now always closed
Remove the close() method and closed attribute. Remove all the calls to
close(). (Save one bool per XmlNode, yay, and save a few ifs and some
useless function calls. At best it should be unnoticeably faster and lighter
and save a few keystrokes in the future)
//mode with no argument should work
The server will respond with the current channel mode, in private or
louloulibs is part of the repository, so no need to check for its presence
Display the resolved IP in debug logs
If hostname resolution fails, do not try all possible ports
Send the cares error message before cleaning it
Check for timeouts on the DNS resolution using c-ares
Fix the log_* macros to not have two ; at the end of lines
Exit with 1 if the connection to the XMPP server fails
This helps the system understand if the process started correctly or not,
when systemd is not used
Do not send the admin-only adhoc commands to non-admin users
They were not able to execute them anyway, so this was just a little
Remove a useless duplicate method
louloulibs is directly included, instead of being a submodule
Because this is a nightmare to manage
Avoid some potential race conditions by blocking the signals we manage
They are atomically unblocked in the ppoll/epoll_pwait calls, avoiding any
race condition on the check of the “stop” or “reload” booleans.