/* nc <bot> <sock> <newnick> */ static void bot_nickchange(int idx, char *par) { char *bot, *ssock, *newnick; int sock, i; if (bot_flags(dcc[idx].user) & BOT_ISOLATE) return; bot = newsplit(&par); #ifndef NO_OLD_BOTNET if (dcc[idx].u.bot->numver < NEAT_BOTNET) { fake_alert(idx, "botversion", "NEAT_BOTNET"); return; } #endif i = nextbot(bot); if (i != idx) { fake_alert(idx, "direction", bot); return; } ssock = newsplit(&par); sock = base64_to_int(ssock); newnick = newsplit(&par); i = partynick(bot, sock, newnick); if (i < 0) { fake_alert(idx, "sock#", ssock); return; } chanout_but(-1, party[i].chan, "*** (%s) Nick change: %s -> %s\n", bot, newnick, party[i].nick); botnet_send_nkch_part(idx, i, newnick); }
/* nc <bot> <sock> <newnick> */ static void bot_nickchange(int idx, char *par) { char *bot = NULL, *ssock = NULL, *newnick = NULL; int sock, i; bot = newsplit(&par); i = nextbot(bot); if (i != idx) { fake_alert(idx, "direction", bot, "nickchange_i"); return; } ssock = newsplit(&par); sock = base64_to_int(ssock); newnick = newsplit(&par); i = partynick(bot, sock, newnick); if (i < 0) { fake_alert(idx, "sock#", ssock, "nickchange_ii"); return; } chanout_but(-1, party[i].chan, "*** (%s) Nick change: %s -> %s\n", conf.bot->hub ? bot : "[botnet]", newnick, party[i].nick); botnet_send_nkch_part(idx, i, newnick); }