void show_banner(int idx) { /* we use sock so that colors aren't applied to banner */ if (dcc[idx].status & STAT_BANNER) dumplots(-dcc[idx].sock, "", wbanner()); dprintf(idx, " \n"); dprintf(-dcc[idx].sock, STR(" -------------------------------------------------------- \n")); dprintf(-dcc[idx].sock, STR("| - http://wraith.botpack.net/ - |\n")); dprintf(-dcc[idx].sock, STR("| Get Shell/Irc/Web hosting @ http://www.xzibition.com |\n")); dprintf(-dcc[idx].sock, STR("| Help support wraith development by signing up. |\n")); dprintf(-dcc[idx].sock, STR("| Use coupon code 'wraith' for 30%% off lifetime |\n")); dprintf(-dcc[idx].sock, STR(" -------------------------------------------------------- \n")); dprintf(idx, " \n"); }
/* show motd to dcc chatter */ void show_motd(int idx) { if (motd[0]) { char *who = NULL, *buf = NULL, *buf_ptr = NULL, date[50] = ""; time_t when; buf = buf_ptr = strdup(motd); who = newsplit(&buf); when = atoi(newsplit(&buf)); strftime(date, sizeof date, "%c %Z", gmtime(&when)); dprintf(idx, "Motd set by %s%s%s (%s)\n", BOLD(idx), who, BOLD_END(idx), date); dumplots(idx, "* ", replace(buf, "\\n", "\n")); dprintf(idx, " \n"); free(buf_ptr); } else dprintf(idx, "Motd: none\n"); }
static int tcl_putdcc(ClientData cd, Tcl_Interp *irp, int argc, char *argv[]) { int i, j; BADARGS(3, 3, " idx text"); i = atoi(argv[1]); j = findidx(i); if (j < 0) { Tcl_AppendResult(irp, "invalid idx", NULL); return TCL_ERROR; } dumplots(-i, "", argv[2]); return TCL_OK; }
void showhelp(int idx, struct flag_record *flags, const char *string) { struct flag_record fr = {FR_GLOBAL | FR_CHAN, 0, 0, 0 }; size_t help_siz = strlen(string) + 1000 + 1; char *helpstr = (char *) my_calloc(1, help_siz); char tmp[2] = "", flagstr[10] = ""; bool ok = 1; while (string && string[0]) { if (*string == '%') { if (!strncmp(string + 1, "{+", 2)) { while (*string && *string != '+') { string++; } flagstr[0] = 0; while (*string && *string != '}') { simple_snprintf(tmp, sizeof(tmp), "%c", *string); strlcat(flagstr, tmp, sizeof(flagstr)); string++; } string++; break_down_flags(flagstr, &fr, NULL); if (flagrec_ok(&fr, flags)) { ok = 1; while (*string && *string != '%') { simple_snprintf(tmp, sizeof(tmp), "%c", *string); strlcat(helpstr, tmp, help_siz); string++; } if (!strncmp(string + 1, "{-", 2)) { ok = 1; while (*string && *string != '}') { string++; } string++; } } else { ok = 0; } } else if (!strncmp(string + 1, "{-", 2)) { ok = 1; while (*string && *string != '}') { string++; } string++; } else if (*string == '{') { while (*string && *string != '}') { string++; } } else if (*(string + 1) == 'd') { string += 2; if (dcc[idx].u.chat->channel >= 0) strlcat(helpstr, settings.dcc_prefix, help_siz); } else if (*(string + 1) == '%') { string += 2; strlcat(helpstr, "%", help_siz); } else { if (ok) { simple_snprintf(tmp, sizeof(tmp), "%c", *string); strlcat(helpstr, tmp, help_siz); } string++; } } else { if (ok) { simple_snprintf(tmp, sizeof(tmp), "%c", *string); strlcat(helpstr, tmp, help_siz); } string++; } } helpstr[strlen(helpstr)] = 0; if (helpstr[0]) dumplots(idx, "", helpstr); free(helpstr); }