/* Event: PROTOCTL */ int denora_event_capab(char *source, int ac, char **av) { if (denora->protocoldebug) { protocol_debug(source, ac, av); } capab_parse(ac, av); return MOD_CONT; }
/* Event: PROTOCTL */ int denora_event_capab(char *source, int ac, char **av) { int argc = 5; char *argv[5]; if (strcasecmp(av[0], "START") == 0) { /* reset CAPAB */ has_globopsmod = 0; } else if (strcasecmp(av[0], "MODULES") == 0 && strstr(av[1], "m_globops.so")) { has_globopsmod = 1; } else if (strcasecmp(av[0], "END") == 0) { if (has_globopsmod == 0) { send_cmd(NULL, "ERROR :m_globops.so is not loaded. This is required by Denora"); denora->qmsg = sstrdup ("Remote server does not have the m_globops.so module loaded, and this is required."); denora->quitting = 1; return MOD_STOP; } /* Generate a fake capabs parsing call so things like NOQUIT work * fine. It's ugly, but it works.... */ argv[0] = sstrdup("NOQUIT"); argv[1] = sstrdup("SSJ3"); argv[2] = sstrdup("NICK2"); argv[3] = sstrdup("VL"); argv[4] = sstrdup("TLKEXT"); capab_parse(argc, argv); free(argv[0]); free(argv[1]); free(argv[2]); free(argv[3]); free(argv[4]); } return MOD_CONT; }
/* Event: PROTOCTL */ int anope_event_capab (char *source, int ac, char **av) { int argvsize = 8; int argc; char **argv; char *str; if (ac < 1) return MOD_CONT; /* We get the params as one arg, we should split it for capab_parse */ argv = scalloc (argvsize, sizeof (char *)); argc = 0; while ((str = myStrGetToken (av[0], ' ', argc))) { if (argc == argvsize) { argvsize += 8; argv = srealloc (argv, argvsize * sizeof (char *)); } argv[argc] = str; argc++; } capab_parse (argc, argv); /* Free our built ac/av */ for (argvsize = 0; argvsize < argc; argvsize++) { free (argv[argvsize]); } free (argv); return MOD_CONT; }
int xanadu_event_capab(char *source, int ac, char **av) { capab_parse(ac, av); return MOD_CONT; }