Move reinstate_user_modes() and update_user_mode() from funny.c to server.c and parse.c
Move these functions where they belong.
This commit is contained in:
@@ -408,41 +408,3 @@ void funny_mode(char *from, char **ArgList)
|
||||
}
|
||||
}
|
||||
|
||||
void update_user_mode(int server, const char *modes)
|
||||
{
|
||||
int onoff = 1;
|
||||
const char *p_umodes = get_possible_umodes(server);
|
||||
const char *p;
|
||||
|
||||
for (; *modes; modes++)
|
||||
{
|
||||
char c = *modes;
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case '-':
|
||||
onoff = 0;
|
||||
break;
|
||||
case '+':
|
||||
onoff = 1;
|
||||
break;
|
||||
case 'o':
|
||||
case 'O':
|
||||
set_server_operator(server, onoff);
|
||||
/* fallthrough */
|
||||
default:
|
||||
p = strchr(p_umodes, c);
|
||||
if (p)
|
||||
set_server_flag(server, p - p_umodes, onoff);
|
||||
else
|
||||
yell("Ignoring invalid user mode '%c' from server", c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void reinstate_user_modes (void)
|
||||
{
|
||||
char *modes = get_umode(from_server);
|
||||
if (modes && *modes)
|
||||
send_to_server("MODE %s +%s", get_server_nickname(from_server), modes);
|
||||
}
|
||||
|
||||
@@ -581,7 +581,7 @@ static void got_initial_version_28(char *server, char *sversion, char *channel_m
|
||||
reconnect_all_channels(from_server);
|
||||
|
||||
reset_display_target();
|
||||
reinstate_user_modes();
|
||||
reinstate_user_modes(from_server);
|
||||
if (use_nat_address == 1)
|
||||
userhostbase(get_server_nickname(from_server), get_nat_address, 1, "%s", get_server_nickname(from_server));
|
||||
update_all_status(current_window, NULL, 0);
|
||||
|
||||
@@ -1462,6 +1462,38 @@ static void check_bitch_mode(char *from, char *uh, char *channel, char *line, Ch
|
||||
reset_display_target();
|
||||
}
|
||||
|
||||
static void update_user_mode(int server, const char *modes)
|
||||
{
|
||||
int onoff = 1;
|
||||
const char *p_umodes = get_possible_umodes(server);
|
||||
const char *p;
|
||||
|
||||
for (; *modes; modes++)
|
||||
{
|
||||
char c = *modes;
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case '-':
|
||||
onoff = 0;
|
||||
break;
|
||||
case '+':
|
||||
onoff = 1;
|
||||
break;
|
||||
case 'o':
|
||||
case 'O':
|
||||
set_server_operator(server, onoff);
|
||||
/* fallthrough */
|
||||
default:
|
||||
p = strchr(p_umodes, c);
|
||||
if (p)
|
||||
set_server_flag(server, p - p_umodes, onoff);
|
||||
else
|
||||
yell("Ignoring invalid user mode '%c' from server", c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void p_mode(char *from, char **ArgList)
|
||||
{
|
||||
char *target;
|
||||
|
||||
@@ -1918,6 +1918,13 @@ void clear_user_modes (int gindex)
|
||||
set_umode(gindex);
|
||||
}
|
||||
|
||||
void reinstate_user_modes(int server)
|
||||
{
|
||||
char *modes = get_umode(server);
|
||||
if (modes && *modes)
|
||||
my_send_to_server(server, "MODE %s +%s", get_server_nickname(server), modes);
|
||||
}
|
||||
|
||||
/*
|
||||
* Encapsulates everything we need to change our AWAY status.
|
||||
* This improves greatly on having everyone peek into that member.
|
||||
|
||||
Reference in New Issue
Block a user