- Fixed irc.c, no more crashes

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5954 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Zido 2006-04-08 07:51:27 +00:00
parent 8f20e263b2
commit 4287764b5d
2 changed files with 36 additions and 23 deletions

View File

@ -3,6 +3,9 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/04/08
* Fixed up irc.c, no more crashes :D [Zido]
2006/04/07 2006/04/07
* Likely fixed a mob not returning to their original class view on respawn * Likely fixed a mob not returning to their original class view on respawn
after they changed class in their previous life. [Skotlex] after they changed class in their previous life. [Skotlex]

View File

@ -256,30 +256,38 @@ void irc_parse_sub(int fd, char *incoming_string)
sprintf(send_string, "PONG %s", command); sprintf(send_string, "PONG %s", command);
irc_send(send_string); irc_send(send_string);
} }
}
// Broadcast [Zido] (Work in Progress) else if((strcmpi(target,irc_channel)==0)||(strcmpi(target,irc_channel+1)==0)) {
if((strcmpi(command,"privmsg")==0)&&(sscanf(message,"@kami %255[^\r\n]",cmd1)>0)&&(target[0]=='#')) {
if(get_access(source_nick)<ACCESS_OP) // Broadcast [Zido] (Work in Progress)
sprintf(send_string,"NOTICE %s :Access Denied",source_nick); if((strcmpi(command,"privmsg")==0)&&(sscanf(message,"@kami %255[^\r\n]",cmd1)>0)&&(target[0]=='#')) {
else { if(get_access(source_nick)<ACCESS_OP)
sprintf(send_string,"%s: %s",source_nick,cmd1); sprintf(send_string,"NOTICE %s :Access Denied",source_nick);
intif_GMmessage(send_string,strlen(send_string)+1,0); else {
sprintf(send_string,"NOTICE %s :Message Sent",source_nick); sprintf(send_string,"%s: %s",source_nick,cmd1);
intif_GMmessage(send_string,strlen(send_string)+1,0);
sprintf(send_string,"NOTICE %s :Message Sent",source_nick);
}
irc_send(send_string);
}
// Refresh Names [Zido]
else if((strcmpi(command,"join")==0)||(strcmpi(command,"part")==0)||(strcmpi(command,"mode")==0)||(strcmpi(command,"nick")==0)) {
ShowInfo("IRC: Refreshing User List");
irc_rmnames();
printf("...");
sprintf(send_string,"NAMES %s",irc_channel);
printf("...");
irc_send(send_string);
printf("Done\n");
}
} }
irc_send(send_string);
}
// Names Reply [Zido] // Names Reply [Zido]
if((strcmpi(command,"353")==0)) { else if((strcmpi(command,"353")==0)) {
parse_names_packet(incoming_string); ShowInfo("IRC: NAMES recieved\n");
} 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; return;
@ -439,14 +447,16 @@ int get_access(char *nick) {
return -1; return -1;
} }
int irc_rmnames(void) { int irc_rmnames() {
int i=0; int i=0;
for(i=0;i<=MAX_CHANNEL_USERS;i++) { for(i=0;i<=MAX_CHANNEL_USERS;i++) {
memset(cd.user[i].name,'\0',256); //memset(cd.user[i].name,'\0',256);
cd.user[i].level=0; cd.user[i].level=0;
} }
last_cd_user=0; last_cd_user=0;
return 0; return 0;
} }