#include "ChanUser.h"
#include "ModeNode.h"
#include "ClientSocket.h"
+#include "IPNode.h"
#define WHOQUEUETYPE_ISONQUEUE 0x01
#define WHOQUEUETYPE_USERLIST 0x02
entry->data[0] = data;
for(i = 1; i < MAXCALLBACKS; i++)
entry->data[i] = NULL;
- putsock(bot, "WHO %s,%d %%tuhnaf,%d", chan->name, entry->type, entry->type);
+ putsock(bot, "WHO %s,%d %%tuihnaf,%d", chan->name, entry->type, entry->type);
} else
callback(bot, chan, data);
}
entry->data[0] = data;
for(i = 1; i < MAXCALLBACKS; i++)
entry->data[i] = NULL;
- putsock(bot, "WHO %s,%d d%%tuhnaf,%d", chan->name, entry->type, entry->type);
+ putsock(bot, "WHO %s,%d d%%tuihnaf,%d", chan->name, entry->type, entry->type);
} else
callback(bot, chan, data);
}
//parse flags
int userflags = 0;
int chanuserflags = 0;
- for(i = 0; i < strlen(argv[5]); i++) {
- switch (argv[5][i]) {
+ for(i = 0; i < strlen(argv[6]); i++) {
+ switch (argv[6][i]) {
case '@':
chanuserflags |= CHANUSERFLAG_OPPED;
break;
}
}
- struct UserNode *user = getUserByNick(argv[4]);
+ struct UserNode *user = getUserByNick(argv[5]);
struct ChanUser *chanuser;
if((chanuserflags & CHANUSERFLAG_INVISIBLE) && (!user || !isBot(user))) {
- user = createTempUser(argv[4]);
+ user = createTempUser(argv[5]);
user->flags |= USERFLAG_ISTMPUSER;
chan->flags |= CHANFLAG_HAVE_INVISIBLES;
chanuser = addInvisibleChanUser(chan, user);
chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;
} else {
if(user == NULL) {
- user = addUser(argv[4]);
+ user = addUser(argv[5]);
}
if(!(chanuser = getChanUser(user, chan))) {
chanuser = addChanUser(chan, user);
user->last_who = time(0);
if(!*user->ident)
strcpy(user->ident, argv[2]);
+ if(!user->ip)
+ user->ip = createIPNode(argv[3]);
if(!*user->host)
- strcpy(user->host, argv[3]);
- if(!(user->flags & USERFLAG_ISAUTHED) && strcmp(argv[6], "0")) {
- strcpy(user->auth, argv[6]);
+ strcpy(user->host, argv[4]);
+ if(!(user->flags & USERFLAG_ISAUTHED) && strcmp(argv[7], "0")) {
+ strcpy(user->auth, argv[7]);
user->flags |= USERFLAG_ISAUTHED;
}
} else if((type & WHOQUEUETYPE_USERAUTH) && !(entry->type & WHOQUEUETYPE_FOUND)) {