void trojanscan_watch_clone_update(struct trojanscan_prechannels *hp, int count) {
int i, j, marked;
struct trojanscan_prechannels *lp;
void trojanscan_watch_clone_update(struct trojanscan_prechannels *hp, int count) {
int i, j, marked;
struct trojanscan_prechannels *lp;
- for(lp=hp,j=0;j<count&&lp;j++,lp=lp->next) {
- if(!markedlist[j].active && !lp->exempt && !ircd_strcmp(lp->name->content, trojanscan_chans[i].channel->content)) { /* we're already on the channel */
- if(trojanscan_chans[i].watch_clone) {
- markedlist[j].active = 1;
- markedlist[j].watch_clone = trojanscan_chans[i].watch_clone;
- lp->watch_clone = trojanscan_chans[i].watch_clone;
+ if(markedlist) {
+ for(lp=hp,j=0;j<count&&lp;j++,lp=lp->next) {
+ if(!markedlist[j].active && !lp->exempt && !ircd_strcmp(lp->name->content, trojanscan_chans[i].channel->content)) { /* we're already on the channel */
+ if(trojanscan_chans[i].watch_clone) {
+ markedlist[j].active = 1;
+ markedlist[j].watch_clone = trojanscan_chans[i].watch_clone;
+ lp->watch_clone = trojanscan_chans[i].watch_clone;
+ }
+ marked = 1;
+ break;
for(j=0,lp=hp;j<count&&lp;j++,lp=lp->next) {
if((!markedlist[j].active || !markedlist[j].watch_clone) && !lp->exempt) {
channel *cp = findchannel(lp->name->content);
for(j=0,lp=hp;j<count&&lp;j++,lp=lp->next) {
if((!markedlist[j].active || !markedlist[j].watch_clone) && !lp->exempt) {
channel *cp = findchannel(lp->name->content);