diff options
author | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-03-15 15:27:58 +0000 |
---|---|---|
committer | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-03-15 15:27:58 +0000 |
commit | 146d293272606f08aa32e2221fd68ac55611b6d6 (patch) | |
tree | 7336c2e15d6df70a2e86fe0c28fb0a2b509e2cf5 /src | |
parent | ee8093a79840edc7169291ca69ac3d256190fc83 (diff) | |
download | hercules-146d293272606f08aa32e2221fd68ac55611b6d6.tar.gz hercules-146d293272606f08aa32e2221fd68ac55611b6d6.tar.bz2 hercules-146d293272606f08aa32e2221fd68ac55611b6d6.tar.xz hercules-146d293272606f08aa32e2221fd68ac55611b6d6.zip |
* Emulated strtok_r functions to work strictly with ANSI compilers.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5611 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/irc.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/map/irc.c b/src/map/irc.c index 33e90669f..b3cd74468 100644 --- a/src/map/irc.c +++ b/src/map/irc.c @@ -208,9 +208,10 @@ void irc_parse_sub(int fd, char *incoming_string) sscanf(incoming_string, ":%255s %255s %255s :%4095[^\n]", source, command, target, message);
if (source != NULL) {
if (strstr(source,"!") != NULL) {
- source_nick = strtok_r(source,"!",&state_mgr);
- source_ident = strtok_r(NULL,"@",&state_mgr);
- source_host = strtok_r(NULL,"%%",&state_mgr);
+ sscanf(source,"%s!%s@$s",source_nick, source_ident, source_host);
+ //source_nick = strtok_r(source,"!",&state_mgr);
+ //source_ident = strtok_r(NULL,"@",&state_mgr);
+ //source_host = strtok_r(NULL,"%%",&state_mgr);
}
}
if (irc_si->state == 0){
@@ -249,15 +250,20 @@ void irc_parse_sub(int fd, char *incoming_string) int send_to_parser(int fd, char *input,char key[2])
{
+ char format[4];
char *temp_string=NULL;
+ char *next_string=NULL;
char *state_mgr=NULL;
int total_loops=0;
- temp_string = strtok_r(input,key,&state_mgr);
+ //temp_string = strtok_r(input,key,&state_mgr);
+ sprintf(format,"%s%s%s","%s",key,"%s");
+ sscanf(input, format, temp_string, next_string);
while (temp_string != NULL){
total_loops = total_loops+1;
irc_parse_sub(fd,temp_string);
- temp_string = strtok_r(NULL,key,&state_mgr);
+ //temp_string = strtok_r(NULL,key,&state_mgr);
+ sscanf(next_string, format, temp_string, next_string);
}
return total_loops;
}
|