summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/irc.c19
-rw-r--r--src/map/irc.h2
2 files changed, 20 insertions, 1 deletions
diff --git a/src/map/irc.c b/src/map/irc.c
index 621201fa4..05cc16d56 100644
--- a/src/map/irc.c
+++ b/src/map/irc.c
@@ -275,6 +275,13 @@ void irc_parse_sub(int fd, char *incoming_string)
parse_names_packet(incoming_string);
}
+ // Refresh Names [Zido]
+ if((strcmpi(command,"join")==0)||(strcmpi(command,"part")==0)||(strcmpi(command,"mode")==0)) {
+ irc_rmnames();
+ sprintf(send_string,"NAMES %s",irc_channel);
+ irc_send(send_string);
+ }
+
return;
}
@@ -431,3 +438,15 @@ int get_access(char *nick) {
return -1;
}
+
+int irc_rmnames() {
+ int i=0;
+
+ for(i=0;i<=MAX_CHANNEL_USERS;i++) {
+ memset(cd.user[i].name,'\0',256);
+ cd.user[i].level=0;
+ }
+ last_cd_user=0;
+
+ return 0;
+}
diff --git a/src/map/irc.h b/src/map/irc.h
index 829733c01..d042fc29a 100644
--- a/src/map/irc.h
+++ b/src/map/irc.h
@@ -48,4 +48,4 @@ int parse_names_packet(char *str);
int parse_names(char *str);
int set_access(char *nick,int level);
int get_access(char *nick);
-int parse_mode(char *mode,char *nick);
+int irc_rmnames();