#include <stdio.h>
#include <assert.h>
#include "tuved.h"
int
tuveVerifyNick(char *nick) {
assert(nick);
assert(connections);
if (findNick(nick) != 0x0)
return(0x1);
return(0x0);
} // tuveVerifyNick()
myConnections_t *findNick(char *nick) {
myConnections_t *tmpConnection = 0x0;
for (tmpConnection = connections;tmpConnection != 0x0;tmpConnection = tmpConnection->next) {
if (!strcasecmp(nick,tmpConnection->userInfo.username))
return(tmpConnection);
}
return(0x0);
}
int tuveWhois(myConnections_t *userConnection,char *nick) {
myConnections_t *user = 0x0;
tuveUserChans_t *chans = 0x0;
char output[256];
user = findNick(nick);
if (user == 0x0) {
sprintf(output,"CHANMSG:TUveD:WHOIS:%s Not Found\n",nick);
sSendData(userConnection,output);
return(0x0);
}
sprintf(output,"CHANMSG:TUveD:WHOIS:%s is %s\n",nick,user->host);
sSendData(userConnection,output);
sprintf(output,"CHANMSG:TUveD:WHOIS:%s Signed On %s",nick,ctime(&user->signedOn));
sSendData(userConnection,output);
if (user->userInfo.chans != 0x0) {
memset(output,0x0,256);
for (chans = user->userInfo.chans;chans != 0x0;chans = chans->next) {
if (strlen(output) == 0)
sprintf(output,"CHANMSG:TUveD:WHOIS:%s Is On %s",nick,chans->channel);
else
sprintf(output,"%s,%s",output,chans->channel);
}
sprintf(output,"%s\n",output);
sSendData(userConnection,output);
}
return(0x0);
}