Browse Source

- IRC User access levels now refresh on a mode set and join/part

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5948 54d463be-8e91-2dee-dedb-b68131a5f0ec
Zido 19 years ago
parent
commit
8c9b7356eb
3 changed files with 21 additions and 1 deletions
  1. 1 0
      Changelog-Trunk.txt
  2. 19 0
      src/map/irc.c
  3. 1 1
      src/map/irc.h

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2006/04/07
+	* IRC User access levels now refresh on a mode set and join/part. [Zido]
 	* Added missing creation/destruction of the expcache_ers in guild.c
 	  [Skotlex]
 	* Unified status_remove_buffs/status_remove_debuffs into a single function.

+ 19 - 0
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;
+}

+ 1 - 1
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();