ass="n">end!='@')end++;// Allocate stringlength=end-prefix;nick=malloc(length+1);if(!nick)returnNULL;// Copy to stringmemcpy(nick,prefix,length);nick[length]='\0';returnnick;}/** * Compares two nick names. Return 0 if equal. Otherwise the return value is * less than zero if a is less than b or greater than zero if a is greater * than b. */intirc_nick_cmp(constchar*a,constchar*b){charac;charbc;chardiff;for(;;){ac=*(a++);bc=*(b++);// Change into IRC uppercase (see RFC 2812 section 2.2)if(ac>='a'&&ac<='~')ac&=~0x20;if(bc>='a'&&bc<='~')bc&=~0x20;diff=ac-bc;if(diff)returndiff;if(!ac)return0;}}