actually use the tls settings on upgrade, and disconnect gracefully

This commit is contained in:
Ailin Nemui 2021-04-06 19:31:10 +02:00
commit f2795abcc5
11 changed files with 117 additions and 30 deletions

View file

@ -1,5 +1,6 @@
#define PERL_NO_GET_CONTEXT
#include "module.h"
#include <irssi/src/core/misc.h>
static GSList *register_hash2list(HV *hv)
{
@ -47,12 +48,20 @@ MODULE = Irssi::Irc::Server PACKAGE = Irssi::Irc::Server PREFIX = irc_server_
PROTOTYPES: ENABLE
void
irc_server_get_channels(server)
irc_server_get_channels(server, rejoin_channels_mode = "")
Irssi::Irc::Server server
char *rejoin_channels_mode
PREINIT:
char *ret;
int mode;
SETTINGS_REC *setting;
PPCODE:
ret = irc_server_get_channels(server);
setting = settings_get_record("rejoin_channels_on_reconnect");
mode = strarray_find(setting->choices, rejoin_channels_mode);
if (mode < 0)
mode = setting->default_value.v_int;
ret = irc_server_get_channels(server, mode);
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);