void funny_mode(char *from, char **ArgList) { char *mode, *channel; ChannelList *chan = NULL; if (!ArgList[0]) return; channel = ArgList[0]; mode = ArgList[1]; PasteArgs(ArgList, 1); if((channel && in_join_list(channel, from_server)) || get_chan_from_join_list(from_server)) { if (!channel) channel = get_chan_from_join_list(from_server); update_channel_mode(from, channel, from_server, mode, chan); update_all_status(current_window, NULL, 0); got_info(channel, from_server, GOTMODE); } else { if (channel) { set_display_target(channel, LOG_CRAP); if (do_hook(current_numeric, "%s %s %s", from, channel, mode)) put_it("%s", convert_output_format(fget_string_var(FORMAT_MODE_CHANNEL_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, *FromUserHost ? FromUserHost:"ÿ", channel, mode)); reset_display_target(); } else { if (do_hook(current_numeric, "%s %s", from, mode)) put_it("%s", convert_output_format(fget_string_var(FORMAT_MODE_CHANNEL_FSET), "%s %s %s %s", update_clock(GET_TIME), from, *FromUserHost ? FromUserHost:"ÿ", mode)); } } }
/* in response to a TOPIC message from the server */ static void p_topic(char *from, char **ArgList) { struct channel *tmp; if (!ArgList[1]) { fake(); return; } tmp = lookup_channel(ArgList[0], from_server, CHAN_NOUNLINK); malloc_strcpy(&tmp->topic, ArgList[1]); if (check_ignore(from, FromUserHost, tmp->channel, IGNORE_TOPICS | IGNORE_CRAP, NULL) != IGNORED) { message_from(ArgList[0], LOG_CRAP); if (do_hook(TOPIC_LIST, "%s %s %s", from, ArgList[0], ArgList[1])) { if (ArgList[1] && *ArgList[1]) { if (get_format(FORMAT_TOPIC_CHANGE_HEADER_FSET)) put_it("%s", convert_output_format(get_format(FORMAT_TOPIC_CHANGE_HEADER_FSET), "%s %s %s %s", update_clock(GET_TIME), from, ArgList[0], ArgList[1])); put_it("%s", convert_output_format(get_format(FORMAT_TOPIC_CHANGE_FSET), "%s %s %s %s", update_clock(GET_TIME), from, ArgList[0], ArgList[1])); } else put_it("%s", convert_output_format(get_format(FORMAT_TOPIC_UNSET_FSET), "%s %s %s", update_clock(GET_TIME), from, ArgList[0])); } message_from(NULL, LOG_CRAP); } update_all_status(curr_scr_win, NULL, 0); }
char *get_help_topic(char *args, int helpfunc) { char *new_comm = NULL; int found = 0, i; char *others = NULL; new_comm = LOCAL_COPY(args); for (i = 0; helpfunc ? script_help[i] : help_index[i]; i++) { if (!my_strnicmp(helpfunc?script_help[i]->title:help_index[i]->title, new_comm, strlen(new_comm))) { int j; char *text = NULL; if (found++) { m_s3cat(&others, " , ", helpfunc?script_help[i]->title:help_index[i]->title); continue; } if (args && *args && do_hook(HELPTOPIC_LIST, "%s", args)) put_it("%s",convert_output_format("$G \002$0\002: Help on Topic: \002$1\002", version, args)); for (j = 0; ; j++) { if (helpfunc && (script_help[i] && script_help[i]->contents[j])) text = script_help[i]->contents[j]; else if (!helpfunc && (help_index[i] && help_index[i]->contents[j])) text = help_index[i]->contents[j]; else break; if (text && do_hook(HELPSUBJECT_LIST, "%s %s", new_comm, text)) { in_chelp++; put_it("%s", convert_output_format(text, NULL)); in_chelp--; } } text = helpfunc ?script_help[i]->relates:help_index[i]->relates; if (text && do_hook(HELPTOPIC_LIST, "%s", text)) put_it("%s", convert_output_format(text, NULL)); } else if (found) break; } if (!found) { if (do_hook(HELPTOPIC_LIST, "%s", args)) bitchsay("No help on %s", args); } if (others && found) { if (do_hook(HELPTOPIC_LIST, "%d %s", found, others)) put_it("Other %d subjects: %s", found - 1, others); } new_free(&others); if (helpfunc) return m_strdup(empty_string); return NULL; }
int show_wholeft_hashtable(WhowasWrapList *cptr, time_t ltime, int *total, int *hook, char *list) { int count, count2; WhowasList *ptr; for (count = 0; count < WHOWASLIST_HASHSIZE; count++) { if (cptr->NickListTable[count].links == 0) continue; for (ptr = (WhowasList *) cptr->NickListTable[count].list, count2 = 1; ptr; count2++, ptr = ptr->next) { if (ptr->server1/* && ptr->server2*/) { if (!(*total)++ && (*hook = do_hook(WHOLEFT_HEADER_LIST, "%s %s %s %s %s %s", "Nick", "Host", "Channel", "Time", "Server", "Server"))) put_it("%s", convert_output_format(fget_string_var(FORMAT_WHOLEFT_HEADER_FSET), NULL)); if (do_hook(WHOLEFT_LIST, "%s %s %s %ld %s %s", ptr->nicklist->nick, ptr->nicklist->host, ptr->channel, ltime-ptr->time, ptr->server1?ptr->server1:"Unknown", ptr->server2?ptr->server2:"Unknown")) put_it("%s", convert_output_format(fget_string_var(FORMAT_WHOLEFT_USER_FSET), "%s %s %s %l %s", ptr->nicklist->nick, ptr->nicklist->host, ptr->channel, (long)ltime-ptr->time, ptr->server1?ptr->server1:empty_string)); } } } if (*total) do_hook(WHOLEFT_FOOTER_LIST, "%s", "End of WhoLeft"); return *hook; }
int Possum_Init(IrcCommandDll **intp, Function_ptr *global_table) { char *tmp = getenv("MAIL"); initialize_module("possum"); MBOX.headers = NULL; add_module_proc(COMMAND_PROC, "possum", "pmheaders", NULL, 0, 0, pm_headers, NULL); add_module_proc(COMMAND_PROC, "possum", "pmcount", NULL, 0, 0, pm_count, NULL); add_module_proc(COMMAND_PROC, "possum", "pmlist", NULL, 0, 0, pm_list, NULL); add_module_proc(COMMAND_PROC, "possum", "pmread", NULL, 0, 0, pm_read, NULL); add_module_proc(COMMAND_PROC, "possum", "pmmailbox", NULL, 0, 0, pm_mailbox, NULL); add_module_proc(COMMAND_PROC, "possum", "pmhelp", NULL, 0, 0, pm_help, NULL); if (tmp) strncpy(MBOX.filename, tmp, MAX_FNAME_LENGTH); put_it("%s Possom Mail %s for BitchX has been excited.", cparse(PM_PROMPT, NULL, NULL), PM_VERSION); put_it("%s %s", cparse(PM_PROMPT, NULL, NULL), "Type /PMHELP for help."); if (tmp) { put_it("%s Using %s for default mail box.", cparse(PM_PROMPT, NULL, NULL), MBOX.filename); MBOX.headers = read_mbox(MBOX.filename); } else { put_it("%s Could not find MAIL in your environment.", cparse(PM_PROMPT, NULL, NULL)); put_it("%s You will have to manually set it with /PMMAILBOX.", cparse(PM_PROMPT,NULL, NULL)); } return 0; }
void play_chunk(int start, int end) { struct cdrom_msf msf; end--; if (start >= end) start = end-1; msf.cdmsf_min0 = start / (60*75); msf.cdmsf_sec0 = (start % (60*75)) / 75; msf.cdmsf_frame0 = start % 75; msf.cdmsf_min1 = end / (60*75); msf.cdmsf_sec1 = (end % (60*75)) / 75; msf.cdmsf_frame1 = end % 75; if (ioctl(drive, CDROMSTART)) { put_it("%s: Could not start the cdrom",cparse(cdrom_prompt)); return; } if (ioctl(drive, CDROMPLAYMSF, &msf)) { put_it("%s: Could not play the track",cparse(cdrom_prompt)); return; } }
int cd_init(char *dev) { #if 0 unsigned char msf_ent[3]; unsigned char msf1_ent[3]; #endif int i, pos; if (((drive = open(dev, 0)) < 0)) { if (errno == EACCES) put_it("%s: you dont have access to the cdrom driver",cparse(cdrom_prompt)); return (-1); } if (ioctl(drive, CDROMREADTOCHDR, &hdr)) { put_it("%s: Can't get TocHeader",cparse(cdrom_prompt)); return (-2); } #ifndef __FreeBSD__ for (i=1;i<=hdr.cdth_trk1+1;i++) { if (i!=hdr.cdth_trk1+1) TocEntry[i].cdte_track = i; else TocEntry[i].cdte_track = CDROM_LEADOUT; TocEntry[i].cdte_format = CDROM_MSF; if (ioctl(drive,CDROMREADTOCENTRY,&TocEntry[i])) put_it("%s: Can't get TocEntry #%d",cparse(cdrom_prompt), i); else { TocEntry[i].avoid=TocEntry[i].cdte_ctrl & CDROM_DATA_TRACK ? 1 : 0; TocEntry[i].m_length = TocEntry[i].cdte_addr.msf.minute * 60 + TocEntry[i].cdte_addr.msf.second; TocEntry[i].m_start = TocEntry[i].m_length * 75 + TocEntry[i].cdte_addr.msf.frame; } } pos = TocEntry[1].m_length; for (i=1;i<=hdr.cdth_trk1+1;i++) { TocEntry[i].m_length = TocEntry[i+1].m_length - pos; pos = TocEntry[i+1].m_length; if (TocEntry[i].avoid) TocEntry[i].m_length = (TocEntry[i+1].m_start - TocEntry[i+1].m_start) *2; } return (hdr.cdth_trk1); #else for (i = hdr.starting_track; i <= hdr.ending_track; i++) { TocEntry[i].avoid=0; TocEntry[i].m_start=1; TocEntry[i].m_length=1; } return (hdr.ending_track); #endif }
void nap_chat(int snum) { GetFile *gf; unsigned char buffer[3*BIG_BUFFER_SIZE+1]; SocketList *s; long bytesread; char *tmp, *p; if (!(s = get_socket(snum)) || !(gf = (GetFile *)s->info)) { put_it("error get_socket(%d)", snum); nap_finished_file(snum, PREMATURE_FINISH); return; } if (gf->deleted) { if (gf->write != -1) close(gf->write); gf->write = -1; if (gf->deleted++ > 5) close_socketread(snum); return; } bytesread = new_dgets(buffer, snum, 1, BIG_BUFFER_SIZE); switch (bytesread) { case -1: say("Lost DCC CHAT to %s [%s]", gf->nick, (dgets_errno == -1) ? "Remote End Closed Connection" : strerror(dgets_errno)); break_from_list((List **)&transfer_struct, (List *)gf); nap_finished_file(snum, PREMATURE_FINISH); break; case 0: break; default: tmp = buffer; if ((p = strrchr(tmp, '\r'))) *p = 0; if ((p = strrchr(tmp, '\n'))) *p = 0; my_decrypt(tmp, strlen(tmp), gf->passwd); gf->received += bytesread; #ifdef ALLOW_DCC_COMMANDS if ((gf->flags & NAP_DCC_COMMANDS) == NAP_DCC_COMMANDS) { if (!my_strnicmp(tmp, ".cmd ", 5) && *(tmp+6)) parse_line("DCC", tmp+5, NULL, 0, 0, 1); } #endif put_it(FORMAT_DCC_MSG, gf->nick, gf->ip, tmp); break; } }
static void version(u_char *from, u_char **ArgList) { if (ArgList[2]) { PasteArgs(ArgList, 2); put_it("%s Server %s: %s %s", numeric_banner(), ArgList[1], ArgList[0], ArgList[2]); } else { PasteArgs(ArgList, 1); put_it("%s Server %s: %s", numeric_banner(), ArgList[1], ArgList[0]); } }
static void p_part(char *from, char **ArgList) { char *channel; if (!from || !*from) return; channel = ArgList[0]; PasteArgs(ArgList, 1); message_from(channel, LOG_CRAP); in_on_who = 1; if ((check_ignore(from, FromUserHost, channel, IGNORE_PARTS | IGNORE_CRAP, NULL) != IGNORED) && do_hook(LEAVE_LIST, "%s %s %s %s", from, channel, FromUserHost, ArgList[1] ? ArgList[1] : empty_str)) put_it("%s", convert_output_format(get_format(FORMAT_LEAVE_FSET), "%s %s %s %s %s", update_clock(GET_TIME), from, FromUserHost, channel, ArgList[1] ? ArgList[1] : empty_str)); if (!my_stricmp(from, get_server_nickname(from_server))) { remove_channel(channel, from_server); remove_from_mode_list(channel, from_server); remove_from_join_list(channel, from_server); set_input_prompt(curr_scr_win, get_string_var(INPUT_PROMPT_VAR), 0); } else { remove_from_channel(channel, from, from_server, 0, NULL); } update_all_status(curr_scr_win, NULL, 0); update_input(UPDATE_ALL); message_from(NULL, LOG_CRAP); in_on_who = 0; }
/* list interface info */ static void iface_callback(void *data, struct iflist *list) { if (list == NULL && errno == 0) { put_it("%s", convert_output_format("%G Unable to find anything!", NULL, NULL)); } else if (list == NULL) { yell("Error fetching interface info: %s", strerror(errno)); } else { int i; say("Current hostnames available:"); for (i = 1; list; list = list->ifi_next, i++) { put_it("%s", convert_output_format("%K[%W$[3]0%K] %B$1 %g[%c$2%g]", "%d %s %s", i, list->ifi_host, list->ifi_name)); } } }
static void set_fset_var_value(int var_index, char *name, char *value) { IrcVariable *var = NULL; if (name) var = find_ext_fset_var(name); if (!var) var = &(fset_array[var_index]); switch (var->type) { case STR_TYPE_VAR: { if (value) { if (*value) malloc_strcpy(&(var->string), value); else { put_it("%s", convert_output_format(fget_string_var(FORMAT_SET_FSET), "%s %s", var->name, var->string?var->string:empty_string)); return; } } else new_free(&(var->string)); if (var->func) (var->func) (current_window, var->string, 0); say("Value of %s set to %s", var->name, var->string ? var->string : "<EMPTY>"); } break; default: say("FSET_type not supported"); } }
int Encrypt_Init(IrcCommandDll **intp, Function_ptr *global_table) { int i, j; char buffer[BIG_BUFFER_SIZE+1]; initialize_module("encrypt"); add_module_proc(ALIAS_PROC, "encrypt", "MENCODE", NULL, 0, 0, func_encode, NULL); add_module_proc(ALIAS_PROC, "encrypt", "MDECODE", NULL, 0, 0, func_decode, NULL); encode_string = (char *)new_malloc(512); for (i = 1, j = 255; i <= 255; i++, j--) { switch (i) { case 27: case 127: case 255: encode_string[i-1] = i; break; default: encode_string[i-1] = j; break; } } sprintf(buffer, "$0+%s by panasync - $2 $3", encode_version); fset_string_var(FORMAT_VERSION_FSET, buffer); put_it("%s", convert_output_format("$G $0 v$1 by panasync. Based on suicide's Abot script.", "%s %s", encode_version, ENCODE_VERSION)); return 0; }
void nap_firewall_start1(int snum) { GetFile *gf; unsigned char buffer[BIG_BUFFER_SIZE+1]; SocketList *s; int rc; unsigned long resume = 0; s = get_socket(snum); if (!s || !(gf = (GetFile *)get_socketinfo(snum))) { close_socketread(snum); return; } if ((rc = read(snum, buffer, BIG_BUFFER_SIZE)) < 1) { break_from_list((List **)&transfer_struct, (List *)gf); if (gf->write != -1) { close(gf->write); gf->write = -1; } nap_finished_file(snum, PREMATURE_FINISH); return; } buffer[rc+1] = 0; resume = my_atol(buffer); put_it("Maybe this is where firewall resume is? %s", buffer); if (lseek(gf->write, resume, SEEK_SET) != -1) gf->resume = resume; gf->starttime = now; s->is_write = s->is_read; s->func_write = s->func_read = napfile_sendfile; napfile_sendfile(snum); }
static void set_wset_var_value(Window *win, int var_index, char *value) { WSetArray *var; var = &(wset_array[var_index]); switch (var->type) { case STR_TYPE_VAR: { char **val = NULL; if ((val = get_wset_str_var_address(win->wset, var_index))) { if (value) { if (*value) malloc_strcpy(val, value); else { put_it("%s", convert_output_format(fget_string_var(FORMAT_SET_FSET), "%s %s", var->name, *val?*val:empty_string)); return; } } else new_free(val); if (var->func) (var->func) (win, *val, 0); say("Value of %s set to %s", var->name, *val ? *val : "<EMPTY>"); } } break; default: say("WSET_type not supported"); } }
int Qbx_Init(IrcCommandDll **intp, Function_ptr *global_table) { initialize_module("qbx"); add_module_proc(HOOK_PROC, "qbx", NULL, "* % !q*", PUBLIC_LIST, 1, NULL, pub_proc); add_module_proc(HOOK_PROC, "qbx", NULL, "* % !q*", PUBLIC_OTHER_LIST, 1, NULL, pub_proc); add_module_proc(COMMAND_PROC, "qbx", "qbx", NULL, 0, 0, qbx_cmd, "<on|off>\n- Turns Qbx on or off"); put_it("Qbx %s loaded", QBX_VERSION); return 0; }
void funny_print_widelist(void) { int i; char buffer1[BIG_BUFFER_SIZE]; char buffer2[BIG_BUFFER_SIZE]; char *ptr; if (!wide_list) return; if (funny_flags & FUNNY_NAME) qsort((void *) wide_list, wl_elements, sizeof(WideList *), (int (*) (const void *, const void *)) funny_widelist_names); else if (funny_flags & FUNNY_USERS) qsort((void *) wide_list, wl_elements, sizeof(WideList *), (int (*) (const void *, const void *)) funny_widelist_users); set_display_target(NULL, LOG_CRAP); *buffer1 = '\0'; for (i = 1; i < wl_elements; i++) { sprintf(buffer2, "%s(%d) ", wide_list[i]->channel, wide_list[i]->users); ptr = strchr(buffer1, '\0'); if (strlen(buffer1) + strlen(buffer2) > current_term->TI_cols - 5) { if (do_hook(WIDELIST_LIST, "%s", buffer1)) put_it("%s", convert_output_format(fget_string_var(FORMAT_WIDELIST_FSET), "%s %s", update_clock(GET_TIME), buffer1)); *buffer1 = 0; strcat(buffer1, buffer2); } else strcpy(ptr, buffer2); } if (*buffer1 && do_hook(WIDELIST_LIST, "%s", buffer1)) put_it("%s", convert_output_format(fget_string_var(FORMAT_WIDELIST_FSET), "%s %s", update_clock(GET_TIME), buffer1)); reset_display_target(); for (i = 0; i < wl_elements; i++) { new_free(&wide_list[i]->channel); new_free((char **)&wide_list[i]); } new_free((char **)&wide_list); wl_elements = wl_size = 0; }
static void p_silence(char *from, char **ArgList) { char *target = ArgList[0]; char *mag = target++; if (do_hook(SILENCE_LIST, "%c %s", *mag, target)) put_it("%s", convert_output_format(get_format(FORMAT_SILENCE_FSET), "%s %c %s", update_clock(GET_TIME), *mag, target)); }
/* * The client apparantly never was adapted to handle the new NOTE syntax. * So i had to kludge this up to work with it. Currently, NOTEs are sent * something like this: * * NOTICE yournick :Note from nick!user@host /xxxd:xxh:xxm/ [N] message * * and parse() calls parse_notice(), who notices that there is no pefix * and passes it off to parse_local_server_notice(), who checks to see * if it is a note (it is), blows away the "Note from" part, and re-sets * the "from" and "FromUserHost" parts with the nick!user@host part and * passes us the buck with 'line' pointing at the time description * (the /.../ part) */ static void parse_note (char *from, char *line) { char *date, *flags, *high; time_t when; int level; switch (check_ignore(from, FromUserHost, IGNORE_NOTES)) { case IGNORED: return; case HIGHLIGHTED: high = highlight_char; break; default: high = empty_string; } if (check_flooding(from, FromUserHost, NOTE_FLOOD, line)) return; /* at this point, line looks like: "/xxxd:xxh:xxm/ [FLAGS] message goes here" */ date = next_arg(line, &line); flags = next_arg(line, &line); when = convert_note_time_to_real_time(date); level = set_lastlog_msg_level(LOG_NOTES); if (do_hook(NOTE_LIST, "%s %lu %s", from, when, line)) { if (time(NULL) - when > 60) /* not just sent */ put_it("%s[%s]%s %s (%s)", high, from, high, line, my_ctime(when)); else put_it("%s[%s]%s %s", high, from, high, line); } if (beep_on_level & LOG_NOTES) beep_em(1); set_lastlog_msg_level(level); }
void print_ircop_flags(int server) { long flag; char *buffer = NULL; flag = get_server_ircop_flags(server); buffer = ircop_flags_to_str(flag); put_it("%s", convert_output_format("$G %bOper%BView%n: $0-", "%s", *buffer ? flag == -1 ? "ALL" : buffer : "NONE")); new_free(&buffer); }
void query_q_server(char *server, unsigned short port, int game) { char buffer[16]; struct sockaddr_in qsock; struct hostent *he; querying = 1; /* look up our quakeserver address */ if ((he = gethostbyname(server)) == NULL) { put_it("unknown host: %s", server); close(qfd); querying = 0; return; } qfd = connect_by_number(server, &port, SERVICE_CLIENT, PROTOCOL_UDP, 1); memset(buffer, 0, sizeof(buffer)); memset(&qsock, 0, sizeof(struct sockaddr_in)); if(game == 3) strcpy(buffer, "\xFF\xFF\xFF\xFFgetstatus"); else strcpy(buffer, "\xFF\xFF\xFF\xFFstatus"); qsock.sin_family = AF_INET; qsock.sin_port = htons(port); qsock.sin_addr = *((struct in_addr *)he->h_addr); put_it("Sending status request to %d.%d.%d.%d...", (unsigned char) he->h_addr_list[0][0], (unsigned char) he->h_addr_list[0][1], (unsigned char) he->h_addr_list[0][2], (unsigned char) he->h_addr_list[0][3]); /* send our information to the quake server */ sendto(qfd, buffer, strlen(buffer), 0, (struct sockaddr *)&qsock, sizeof(struct sockaddr)); gettimeofday(&q_tv, NULL); strncpy(q_server, server, 256); q_type = game; add_socketread(qfd, port, 0, server, q_timer, NULL); add_sockettimeout(qfd, 5, q_timeout); }
void print_lastlog(Lastlog *msg, int timelog) { time_t ltime; struct tm *tm; char buff[129]; if (timelog) { ltime = msg->time; tm = localtime(<ime); strftime(buff, 128, get_string_var(LASTLOG_TIMEFORMAT_VAR) ? get_string_var(LASTLOG_TIMEFORMAT_VAR) : "[%H:%M]", tm); put_it("%s %s", buff, msg->msg); } else put_it("%s", msg->msg); }
void get_help_topic(const char *args, int helpfunc) { int found = 0, i; char *others = NULL; struct chelp_index *index = helpfunc ? &script_help : &bitchx_help; size_t arglen = strlen(args); for (i = 0; i < index->size; i++) { if (!my_strnicmp(index->entries[i].title, args, arglen)) { int j; char *text = NULL; if (found++) { m_s3cat(&others, " , ", index->entries[i].title); continue; } if (do_hook(HELPTOPIC_LIST, "%s", index->entries[i].title)) put_it("%s", convert_output_format("$G \002$0\002: Help on Topic: \002$1-\002", "%s %s", version, index->entries[i].title)); for (j = 0; (text = index->entries[i].contents[j]) != NULL; j++) { if (do_hook(HELPSUBJECT_LIST, "%s , %s", index->entries[i].title, text)) { in_chelp++; put_it("%s", convert_output_format(text, NULL)); in_chelp--; } } text = index->entries[i].relates; if (text && do_hook(HELPTOPIC_LIST, "%s", text)) put_it("%s", convert_output_format(text, NULL)); } else if (found) break; } if (!found) { if (do_hook(HELPTOPIC_LIST, "%s", args)) bitchsay("No help on %s", args); } if (others && found) { if (do_hook(HELPTOPIC_LIST, "%d %s", found, others)) put_it("Other %d subjects: %s", found - 1, others); } new_free(&others); }
static inline void fset_variable_casedef(char *name, int cnt, int var_index, char *args) { FsetNumber *tmp; for (cnt += var_index; var_index < cnt; var_index++) set_fset_var_value(var_index, NULL, args); if (!is_number(name)) return; for (tmp = numeric_fset; tmp; tmp = tmp->next) if (my_atol(name) == tmp->numeric) put_it("%s", convert_output_format(fget_string_var(FORMAT_SET_FSET), "%d %s", tmp->numeric, tmp->format)); }
void set_cd_device(Window *win, char *str, int blah) { if (drive) close(drive); if (!str || !check_mount(str)) { put_it("%s: ERROR: CDROM is already mounted, please unmount, and try again",cparse(cdrom_prompt)); set_string_var(CD_DEVICE_VAR,NULL); return; } if (cd_init(str) < 0) { put_it("%s: ERROR: Could not initalize the CDROM, check if a disk is inside",cparse(cdrom_prompt)); set_string_var(CD_DEVICE_VAR,NULL); return; } put_it("%s: CDROM device is now set to - %s",cparse(cdrom_prompt),str); set_string_var(CD_DEVICE_VAR,str); }
static inline void fset_variable_noargs(char *name) { int var_index = 0; FsetNumber *tmp; for (var_index = 0; var_index < NUMBER_OF_FSET; var_index++) set_fset_var_value(var_index, NULL, empty_string); for (var_index = 0; var_index < ext_fset_list.max; var_index++) set_fset_var_value(var_index, (*ext_fset_list.list[var_index]).name, empty_string); for (tmp = numeric_fset; tmp; tmp = tmp->next) put_it("%s", convert_output_format(fget_string_var(FORMAT_SET_FSET), "%d %s", tmp->numeric, tmp->format)); }
static int check_cdrom_str(void) { char *str; if ((str = get_string_var(CD_DEVICE_VAR))) { if (!drive) cd_init(str); return 1; } put_it("%s: /SET CD_DEVICE - The name of the CDROM device",cparse(cdrom_prompt)); return 0; }
static void channel_topic(u_char *from, u_char **ArgList) { u_char *topic, *channel; save_message_from(); if (ArgList[1] && is_channel(ArgList[0])) { topic = ArgList[1]; channel = ArgList[0]; message_from(channel, LOG_CRAP); put_it("%s Topic for %s: %s", numeric_banner(), channel, topic); } else { message_from(NULL, LOG_CURRENT); PasteArgs(ArgList, 0); put_it("%s Topic: %s", numeric_banner(), ArgList[0]); } restore_message_from(); }
void print_funny_names(char *line) { register char *t; int count = 0; char buffer[BIG_BUFFER_SIZE+1]; char special = '\0'; int cols = get_int_var(NAMES_COLUMNS_VAR); if (!cols) cols = 1; if (line && *line) { *buffer = 0; t = next_arg(line, &line); do { if (!count && fget_string_var(FORMAT_NAMES_BANNER_FSET)) strcpy(buffer, convert_output_format(fget_string_var(FORMAT_NAMES_BANNER_FSET), NULL, NULL)); if (*t == '@' || *t == '+' || *t == '~' || *t == '-') { special = *t; if (special == '+') strcat(buffer, convert_output_format(fget_string_var(FORMAT_NAMES_VOICECOLOR_FSET),"%c %s", special, ++t)); else strcat(buffer, convert_output_format(fget_string_var(FORMAT_NAMES_OPCOLOR_FSET),"%c %s", special, ++t)); } else strcat(buffer, convert_output_format(fget_string_var(FORMAT_NAMES_NICKCOLOR_FSET), "$ %s", t)); strcat(buffer, space); if (count++ >= (cols - 1)) { put_it("%s", buffer); *buffer = 0; count = 0; } } while ((t = next_arg(line, &line))); if (buffer) put_it("%s", buffer); } }
static void set_cset_var_value(CSetList *tmp, int var_index, char *value) { char *rest; CSetArray *var; var = &(cset_array[var_index]); switch (var->type) { case BOOL_TYPE_VAR: if (value && *value && (value = next_arg(value, &rest))) { if (do_boolean(value, (int *)get_cset_int_var_address(tmp, var_index))) { say("Value must be either ON, OFF, or TOGGLE"); break; } if (var->func) var->func(var, tmp); put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %s", var->name, tmp->channel, get_cset_int_var(tmp, var_index)?var_settings[ON] : var_settings[OFF])); } else put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %s", var->name, tmp->channel, get_cset_int_var(tmp, var_index)?var_settings[ON] : var_settings[OFF])); break; case INT_TYPE_VAR: if (value && *value && (value = next_arg(value, &rest))) { int val; if (!is_number(value)) { say("Value of %s must be numeric!", var->name); break; } if ((val = atoi(value)) < 0) { say("Value of %s must be greater than 0", var->name); break; } set_cset_int_var(tmp, var_index, val); if (var->func) var->func(var, tmp); put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %d", var->name, tmp->channel, get_cset_int_var(tmp, var_index))); } else put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %d", var->name, tmp->channel, get_cset_int_var(tmp, var_index))); break; case STR_TYPE_VAR: if (value && *value) { set_cset_str_var(tmp, var_index, value); if (var->func) var->func(var, tmp); put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %s", var->name, tmp->channel, get_cset_str_var(tmp, var_index) )); } else put_it("%s", convert_output_format(fget_string_var(FORMAT_CSET_FSET), "%s %s %s", var->name, tmp->channel, (char *)get_cset_str_var(tmp, var_index))); } }