Esempio n. 1
0
int TestLList()
{
	LList<char *> *llist = new LList<char *>();
	TEST_ASSERT(llist);

	TEST_ASSERT(!llist->valid((unsigned int)-1));
	TEST_ASSERT(!llist->valid(1));
	TEST_ASSERT(!llist->valid(0));

	llist->insert(newStr("one"));
	llist->insert(newStr("two"));
	llist->insert(newStr("three"));
	llist->insert(newStr("four"));

	TEST_ASSERT(strcmp(llist->get(0), "one") == 0);
	TEST_ASSERT(strcmp(llist->get(2), "three") == 0);
	TEST_ASSERT(strcmp(llist->get(3), "four") == 0);
	TEST_ASSERT(strcmp(llist->get(1), "two") == 0);

	delete [] llist->get(1);
	llist->remove(1);

	TEST_ASSERT(strcmp(llist->get(0), "one") == 0);
	TEST_ASSERT(strcmp(llist->get(1), "three") == 0);
	TEST_ASSERT(strcmp(llist->get(2), "four") == 0);

	while (llist->valid(0))	{
		delete [] llist->get(0);
		llist->remove(0);
	}

	TEST_ASSERT(!llist->valid((unsigned int)-1));
	TEST_ASSERT(!llist->valid(1));
	TEST_ASSERT(!llist->valid(0));

	delete llist;

	return 0;
}
Esempio n. 2
0
int IRC::connect(char *server,char *nick,u_short port,char *pass)
{
	ccerr = conn->Connect(server,port);
	if (ccerr != 0)
		return ccerr;
	this->my_server = server;
	if (pass != NULL) {
		strcpy(this->msg_buf,"PASS ");
		strcat(this->msg_buf,pass);
		this->send(this->msg_buf);
	}
	this->nick(nick);
	this->my_nick = nick;
	this->user(nick,"0",this->my_server);
	char *line = this->readline();
	LList<char *> results = this->split(line," ");
	int i = 0;
	while (!results.valid(1)) {
		char *line = this->readline();
		results = this->split(line," ");
	}
	while (!strcmp(results.get(1),"001")) {
	    if (strcmp(results.get(1),"PING")) {
		    strcpy(this->msg_buf,"PONG ");
		    strcat(this->msg_buf,results.get(2));
		    this->send(this->msg_buf);
	    } else if (strcmp(results.get(1),"433") || strcmp(results.get(1),"432")) {
		    stringstream out;
		    out << ++i;
		    this->nick(strcat(nick,out.str().c_str()));
		    this->my_nick = strcat(nick,out.str().c_str());
	    }
	    line = this->readline();
	    results = this->split(line," ");
	}

	strcpy(this->msg_buf,"WHOIS ");
	strcat(this->msg_buf,this->my_nick);
	this->send(this->msg_buf);
	do {
		line = this->readline();
		results = this->split(line," ");
		if (strcmp(results.get(1),"311"))
			this->my_host = strcat(results.get(4),strcat("@",results.get(5)));
	} while (this->my_host == NULL);

	return 0;
}