mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
Merge pull request #771 from paultownsend/issue-120
Add alternate_nick as a network-specific property
This commit is contained in:
commit
28d0b8c746
@ -11,6 +11,7 @@
|
||||
REMOVE: Removes a network from your configuration.
|
||||
|
||||
-nick: Specifies the nickname to use.
|
||||
-alternate_nick Specifies the alternate nickname to use.
|
||||
-user: Specifies the user identity to use.
|
||||
-realname: Specifies the real name to use.
|
||||
-host: Specifies the hostname to use.
|
||||
|
@ -48,6 +48,8 @@ static void cmd_network_list(void)
|
||||
g_string_truncate(str, 0);
|
||||
if (rec->nick != NULL)
|
||||
g_string_append_printf(str, "nick: %s, ", rec->nick);
|
||||
if (rec->alternate_nick != NULL)
|
||||
g_string_append_printf(str, "alternate_nick: %s, ", rec->alternate_nick);
|
||||
if (rec->username != NULL)
|
||||
g_string_append_printf(str, "username: %s, ", rec->username);
|
||||
if (rec->realname != NULL)
|
||||
@ -114,6 +116,7 @@ static void cmd_network_add_modify(const char *data, gboolean add)
|
||||
rec->name = g_strdup(name);
|
||||
} else {
|
||||
if (g_hash_table_lookup(optlist, "nick")) g_free_and_null(rec->nick);
|
||||
if (g_hash_table_lookup(optlist, "alternate_nick")) g_free_and_null(rec->alternate_nick);
|
||||
if (g_hash_table_lookup(optlist, "user")) g_free_and_null(rec->username);
|
||||
if (g_hash_table_lookup(optlist, "realname")) g_free_and_null(rec->realname);
|
||||
if (g_hash_table_lookup(optlist, "host")) {
|
||||
@ -145,6 +148,8 @@ static void cmd_network_add_modify(const char *data, gboolean add)
|
||||
|
||||
value = g_hash_table_lookup(optlist, "nick");
|
||||
if (value != NULL && *value != '\0') rec->nick = g_strdup(value);
|
||||
value = g_hash_table_lookup(optlist, "alternate_nick");
|
||||
if (value != NULL && *value != '\0') rec->alternate_nick = g_strdup(value);
|
||||
value = g_hash_table_lookup(optlist, "user");
|
||||
if (value != NULL && *value != '\0') rec->username = g_strdup(value);
|
||||
value = g_hash_table_lookup(optlist, "realname");
|
||||
@ -175,7 +180,7 @@ static void cmd_network_add_modify(const char *data, gboolean add)
|
||||
cmd_params_free(free_arg);
|
||||
}
|
||||
|
||||
/* SYNTAX: NETWORK ADD|MODIFY [-nick <nick>] [-user <user>] [-realname <name>]
|
||||
/* SYNTAX: NETWORK ADD|MODIFY [-nick <nick>] [-alternate_nick <nick>] [-user <user>] [-realname <name>]
|
||||
[-host <host>] [-usermode <mode>] [-autosendcmd <cmd>]
|
||||
[-querychans <count>] [-whois <count>] [-msgs <count>]
|
||||
[-kicks <count>] [-modes <count>] [-cmdspeed <ms>]
|
||||
@ -228,9 +233,9 @@ void fe_ircnet_init(void)
|
||||
command_bind("network remove", NULL, (SIGNAL_FUNC) cmd_network_remove);
|
||||
|
||||
command_set_options("network add", "-kicks -msgs -modes -whois -cmdspeed "
|
||||
"-cmdmax -nick -user -realname -host -autosendcmd -querychans -usermode -sasl_mechanism -sasl_username -sasl_password");
|
||||
"-cmdmax -nick -alternate_nick -user -realname -host -autosendcmd -querychans -usermode -sasl_mechanism -sasl_username -sasl_password");
|
||||
command_set_options("network modify", "-kicks -msgs -modes -whois -cmdspeed "
|
||||
"-cmdmax -nick -user -realname -host -autosendcmd -querychans -usermode -sasl_mechanism -sasl_username -sasl_password");
|
||||
"-cmdmax -nick -alternate_nick -user -realname -host -autosendcmd -querychans -usermode -sasl_mechanism -sasl_username -sasl_password");
|
||||
}
|
||||
|
||||
void fe_ircnet_deinit(void)
|
||||
|
@ -43,6 +43,9 @@ static void sig_chatnet_read(IRC_CHATNET_REC *rec, CONFIG_NODE *node)
|
||||
value = config_node_get_str(node, "usermode", NULL);
|
||||
rec->usermode = (value != NULL && *value != '\0') ? g_strdup(value) : NULL;
|
||||
|
||||
value = config_node_get_str(node, "alternate_nick", NULL);
|
||||
rec->alternate_nick = (value != NULL && *value != '\0') ? g_strdup(value) : NULL;
|
||||
|
||||
rec->max_cmds_at_once = config_node_get_int(node, "cmdmax", 0);
|
||||
rec->cmd_queue_speed = config_node_get_int(node, "cmdspeed", 0);
|
||||
rec->max_query_chans = config_node_get_int(node, "max_query_chans", 0);
|
||||
@ -65,6 +68,9 @@ static void sig_chatnet_saved(IRC_CHATNET_REC *rec, CONFIG_NODE *node)
|
||||
if (rec->usermode != NULL)
|
||||
iconfig_node_set_str(node, "usermode", rec->usermode);
|
||||
|
||||
if (rec->alternate_nick != NULL)
|
||||
iconfig_node_set_str(node, "alternate_nick", rec->alternate_nick);
|
||||
|
||||
if (rec->max_cmds_at_once > 0)
|
||||
iconfig_node_set_int(node, "cmdmax", rec->max_cmds_at_once);
|
||||
if (rec->cmd_queue_speed > 0)
|
||||
@ -93,6 +99,7 @@ static void sig_chatnet_destroyed(IRC_CHATNET_REC *rec)
|
||||
{
|
||||
if (IS_IRC_CHATNET(rec)) {
|
||||
g_free(rec->usermode);
|
||||
g_free(rec->alternate_nick);
|
||||
g_free(rec->sasl_mechanism);
|
||||
g_free(rec->sasl_username);
|
||||
g_free(rec->sasl_password);
|
||||
|
@ -18,6 +18,7 @@ struct _IRC_CHATNET_REC {
|
||||
#include "chatnet-rec.h"
|
||||
|
||||
char *usermode;
|
||||
char *alternate_nick;
|
||||
|
||||
char *sasl_mechanism;
|
||||
char *sasl_username;
|
||||
|
@ -69,7 +69,10 @@ static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn,
|
||||
return;
|
||||
g_return_if_fail(IS_IRCNET(ircnet));
|
||||
|
||||
if (ircnet->nick != NULL) g_free_and_null(conn->alternate_nick);
|
||||
if (ircnet->alternate_nick != NULL) {
|
||||
g_free_and_null(conn->alternate_nick);
|
||||
conn->alternate_nick = g_strdup(ircnet->alternate_nick);
|
||||
}
|
||||
if (ircnet->usermode != NULL) {
|
||||
g_free_and_null(conn->usermode);
|
||||
conn->usermode = g_strdup(ircnet->usermode);
|
||||
|
Loading…
Reference in New Issue
Block a user