rendered paste body#include <iostream>
struct IRCName{ char *username, *hostname, *host; };
IRCName* parseIRCName(char *full);
int main(){
IRCName *user;
char *string = "bananafly!~uejcpo@81-229-120-21-no28.tcbn.telia.com";
for(int i=0;i<1000000;i++){
user = parseIRCName(string);
delete user->hostname;
delete user->username;
delete user->host;
delete user;
}
std::cout << "Done!";
std::cin.get();
return 0;
}
IRCName* parseIRCName(char *full){
IRCName *ret;
ret = new IRCName;
char *p, *tmp;
int *len;
tmp = new char[255];
for(p=full;*p != '!';p++)
tmp[p-full] = *p;
tmp[p-full] = '\0';
len = new int;
*len = strlen(tmp);
ret->username = new char[*len];
strcpy(ret->username, tmp);
delete tmp;
tmp = new char[255];
for(p++;*p != '@';p++)
tmp[p-full-*len-1] = *p;
tmp[p-full-*len-1] = '\0';
ret->hostname = new char[strlen(tmp)];
strcpy(ret->hostname, tmp);
delete tmp;
delete len;
p++;
ret->host = new char[strlen(p)];
strcpy(ret->host, p);
return ret;
}