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:
@@ -24,11 +24,9 @@
|
|||||||
int funny_is_ignore_channel (void);
|
int funny_is_ignore_channel (void);
|
||||||
void funny_set_ignore_channel (char *);
|
void funny_set_ignore_channel (char *);
|
||||||
void funny_match (char *);
|
void funny_match (char *);
|
||||||
void reinstate_user_modes (void);
|
|
||||||
void funny_print_widelist (void);
|
void funny_print_widelist (void);
|
||||||
void funny_list (char *, char **);
|
void funny_list (char *, char **);
|
||||||
void funny_mode (char *, char **);
|
void funny_mode (char *, char **);
|
||||||
void funny_namreply (char *, char **);
|
void funny_namreply (char *, char **);
|
||||||
void update_user_mode (int, const char *);
|
|
||||||
|
|
||||||
#endif /* FUNNY_H_ */
|
#endif /* FUNNY_H_ */
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ extern SGroup *server_group_list;
|
|||||||
void disconnectcmd (char *, char *, char *, char *);
|
void disconnectcmd (char *, char *, char *, char *);
|
||||||
char *BX_get_umode (int);
|
char *BX_get_umode (int);
|
||||||
int BX_server_list_size (void);
|
int BX_server_list_size (void);
|
||||||
|
void reinstate_user_modes (int);
|
||||||
|
|
||||||
void BX_set_server_away (int, char *, int);
|
void BX_set_server_away (int, char *, int);
|
||||||
char * BX_get_server_away (int);
|
char * BX_get_server_away (int);
|
||||||
|
|||||||
@@ -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);
|
reconnect_all_channels(from_server);
|
||||||
|
|
||||||
reset_display_target();
|
reset_display_target();
|
||||||
reinstate_user_modes();
|
reinstate_user_modes(from_server);
|
||||||
if (use_nat_address == 1)
|
if (use_nat_address == 1)
|
||||||
userhostbase(get_server_nickname(from_server), get_nat_address, 1, "%s", get_server_nickname(from_server));
|
userhostbase(get_server_nickname(from_server), get_nat_address, 1, "%s", get_server_nickname(from_server));
|
||||||
update_all_status(current_window, NULL, 0);
|
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();
|
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)
|
static void p_mode(char *from, char **ArgList)
|
||||||
{
|
{
|
||||||
char *target;
|
char *target;
|
||||||
|
|||||||
@@ -1918,6 +1918,13 @@ void clear_user_modes (int gindex)
|
|||||||
set_umode(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.
|
* Encapsulates everything we need to change our AWAY status.
|
||||||
* This improves greatly on having everyone peek into that member.
|
* This improves greatly on having everyone peek into that member.
|
||||||
|
|||||||
Reference in New Issue
Block a user