Exemplo n.º 1
0
void _fini(void) {
  unsigned int i;
  
  if (cmnick) {
    deregisterlocaluser(cmnick, NULL);
  }
  
  for(i=0;i<nclones;i++) {
    deregisterlocaluser(clones[i], NULL);
  }
}
Exemplo n.º 2
0
void _fini() {
  void* p, *np;
  
  deregisterhook(HOOK_NICK_NEWNICK, &versionscan_newnick);
  
  if (vsconnect) {
    deleteschedule(vsconnect, &versionscan_createfakeuser, NULL);
    vsconnect=NULL;
  }
  
  if (versionscan_nick) {
    deregisterlocaluser(versionscan_nick, "Module unloaded.");
    versionscan_nick=NULL;
  }
  
  destroycommandtree(versionscan_commands);
  
  for (p=vspatterns; p;) {
    np=((vspattern*)p)->next;
    free(p);
    p=np;
  }
  for (p=vsauths; p;) {
    np=((vsauthdata*)p)->next;
    free(p);
    p=np;
  }
  for (p=vsstats; p;) {
    np=((vsstatistic*)p)->next;
    free(((vsstatistic*)p)->reply);
    free(p);
    p=np;
  }
}
Exemplo n.º 3
0
static void fake_free(fakeuser *fake) {
  fakeuser **pnext;

  if (fake->user)
    deregisterlocaluser(fake->user, "Signing off");

  deleteschedule(NULL, &reconnectfakeuser, fake);
  
  for (pnext = &fakeuserlist; *pnext; pnext = &((*pnext)->next)) {
    if (*pnext == fake) {
      *pnext = fake->next;
      break;
    }
  }

  free(fake);
}
Exemplo n.º 4
0
void lua_destroybot(void) {
  if(myutick)
    deleteschedule(myutick, &lua_tick, NULL);

  if(myublip)
    deleteschedule(myublip, &lua_blip, NULL);

  lua_deregisterevents();

  if (myureconnect)
    deleteschedule(myureconnect, &lua_startbot, NULL);

  if(lua_nick)
    deregisterlocaluser(lua_nick, NULL);

  if(luabotnick) {
    freesstring(luabotnick);
    luabotnick = NULL;
  }
}
Exemplo n.º 5
0
void _fini(void) {
  patrolchannel *pc, *next;

  deregistercontrolcmd("patroljoin", &pc_cmd_patroljoin);
  deregistercontrolcmd("patrolpart", &pc_cmd_patrolpart);
  deregistercontrolcmd("patrollist", &pc_cmd_patrollist);

  deleteallschedules(&pc_sched_check);

  for (pc = patrolchannels; pc; pc = next) {
    next = pc->next;

    freesstring(pc->channel);

    if (pc->nick)
      deregisterlocaluser(pc->nick, NULL);

    free(pc);
  }
}
Exemplo n.º 6
0
static int pc_part(char *name) {
  patrolchannel **pnext, *pc;

  for (pnext = &patrolchannels; *pnext; pnext = &((*pnext)->next)) {
    pc = *pnext;

    if (ircd_strcmp(pc->channel->content, name) == 0) {
      freesstring(pc->channel);

      if (pc->nick)
        deregisterlocaluser(pc->nick, NULL);

      *pnext = pc->next;
      free(pc);

      return 0;
    }
  }

  return -1;
}
Exemplo n.º 7
0
static void pc_check(void) {
  patrolchannel *pc;
  channel *cp;

  for (pc = patrolchannels; pc; pc = pc->next) {
    if (pc->nick && pc->nick->timestamp > getnettime() - 900)
      continue;

    if (pc->nick)
      deregisterlocaluser(pc->nick, NULL);

    cp = findchannel(pc->channel->content);

    if (!cp) {
      pc->nick = NULL;
      continue;
    }

    pc->nick = patrol_generateclone(0, patroluserhandler);
    localjoinchannel(pc->nick, cp);
  }
}
Exemplo n.º 8
0
void _fini(void) {
  if(fakeq)
    deregisterlocaluser(fakeq, "Leaving");
}