mirror of
https://github.com/irssi/irssi.git
synced 2026-08-19 16:42:30 +02:00
Check that server is still existent when using /oper
This commit is contained in:
parent
243ae4be84
commit
0909d47e5b
1 changed files with 7 additions and 5 deletions
|
|
@ -345,16 +345,18 @@ static void cmd_ts(const char *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
IRC_SERVER_REC *server;
|
char *server_tag;
|
||||||
char *nick;
|
char *nick;
|
||||||
} OPER_PASS_REC;
|
} OPER_PASS_REC;
|
||||||
|
|
||||||
static void cmd_oper_got_pass(const char *password, OPER_PASS_REC *rec)
|
static void cmd_oper_got_pass(const char *password, OPER_PASS_REC *rec)
|
||||||
{
|
{
|
||||||
if (*password != '\0')
|
SERVER_REC *server_rec = server_find_tag(rec->server_tag);
|
||||||
irc_send_cmdv(rec->server, "OPER %s %s", rec->nick, password);
|
if (*password != '\0' && IS_IRC_SERVER(server_rec))
|
||||||
|
irc_send_cmdv((IRC_SERVER_REC *) server_rec, "OPER %s %s", rec->nick, password);
|
||||||
g_free(rec->nick);
|
g_free(rec->nick);
|
||||||
g_free(rec);
|
g_free(rec->server_tag);
|
||||||
|
g_free(rec);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cmd_oper(const char *data, IRC_SERVER_REC *server)
|
static void cmd_oper(const char *data, IRC_SERVER_REC *server)
|
||||||
|
|
@ -374,7 +376,7 @@ static void cmd_oper(const char *data, IRC_SERVER_REC *server)
|
||||||
OPER_PASS_REC *rec;
|
OPER_PASS_REC *rec;
|
||||||
|
|
||||||
rec = g_new(OPER_PASS_REC, 1);
|
rec = g_new(OPER_PASS_REC, 1);
|
||||||
rec->server = server;
|
rec->server_tag = g_strdup(server->tag);
|
||||||
rec->nick = g_strdup(*nick != '\0' ? nick : server->nick);
|
rec->nick = g_strdup(*nick != '\0' ? nick : server->nick);
|
||||||
|
|
||||||
format = format_get_text(MODULE_NAME, NULL, server, NULL,
|
format = format_get_text(MODULE_NAME, NULL, server, NULL,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue