diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/irc.c | 19 | ||||
-rw-r--r-- | src/map/irc.h | 2 |
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();
|