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 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 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; }
int main() { struct reqcontext* ctx = create_reqcontext(); for (size_t i = 0; i<data_len; ++i) { int ret = cparse(ctx, &(data[i]), 1, NULL); if (ret != 0) return ret; } printf("=============\n"); printf("%s\n", data); printf("=============\n"); char headers[8192] = {0}; build_headers_string(&ctx->msg, headers, sizeof(headers), 0); printf("is headers equal: %d\n", strncmp(headers, data, strlen(headers))==0); delete_reqcontext(ctx); }
void amsg(IrcCommandDll *intp, char *command, char *args, char *subargs, char *helparg) { char *nick,*nnick,*loc; CHECK_TOC_ONLINE(); /* loc = msg, nick = username to send msg to */ loc = LOCAL_COPY(args); nick = new_next_arg(loc, &loc); REQUIRED_ARG(nick,command,helparg); if ( nick[0] == '#' ) { struct buddy_chat *b; nick++; REQUIRED_ARG(nick,command,helparg); b = (struct buddy_chat *) find_buddy_chat(nick); if ( ! b ) { statusprintf("Error not on buddy chat %s", nick); return; } /* chatprintf("sent msg %s to buddy chat %s",loc,nick); */ serv_chat_send(b->id,loc); } else { char *ruser,*rnick; nnick = (char *) malloc(strlen(nick)+10); rnick = rm_space(nick); ruser = rm_space(get_dllstring_var("aim_user")); sprintf(nnick,"%s@AIM",rnick); msgprintf("%s", cparse(fget_string_var(FORMAT_SEND_MSG_FSET), "%s %s %s %s",update_clock(GET_TIME), nnick, ruser, loc)); serv_send_im(nick,loc); RemoveFromLLByKey(msgdthem,rnick); AddToLL(msgdthem,rnick,NULL); #ifdef BITCHX_PATCH tks.list = 0; tks.pos = -1; #endif free(rnick); free(ruser); } debug_printf("sending msg to %s '%s'",nick,loc); return; }
int toc_main_interface(int type, char **args) { switch (type) { case TOC_IM_IN: { char *msg, *nick; nick = rm_space(args[0]); msg = strip_html(args[1]); RemoveFromLLByKey(msgdus,nick); AddToLL(msgdus,nick,NULL); msgprintf("%s", cparse(fget_string_var(FORMAT_MSG_FSET), "%s %s %s %s",update_clock(GET_TIME), nick, "AIM", msg)); if ( is_away ) serv_send_im(args[0],away_message); free(nick); break; } case TOC_TRANSLATED_ERROR: case TOC_CONNECT_MSGS: statusprintf(args[0]); break; case TOC_BUDDY_LOGGED_OFF: statusprintf("%s logged off",args[0]); if ( get_dllint_var("aim_window") ) build_aim_status(get_window_by_name("AIM")); break; case TOC_BUDDY_LOGGED_ON: statusprintf("%s logged on", args[0]); if ( get_dllint_var("aim_window") ) build_aim_status(get_window_by_name("AIM")); break; case TOC_EVILED: statusprintf("You have been warned by %s.", ((args[0] == NULL) ? "an anonymous person" : args[0])); statusprintf("Your new warning level is %s%%" , args[1]); if ( get_dllint_var("aim_window") ) build_aim_status(get_window_by_name("AIM")); break; case TOC_CHAT_JOIN: chatprintf("Joined buddy chat %s",args[1]); strncpy(current_chat,args[1],511); break; case TOC_BUDDY_LEFT_CHAT: chatprintf("%s left %s",args[1],args[0]); break; case TOC_BUDDY_JOIN_CHAT: chatprintf("%s joined %s",args[1],args[0]); break; case TOC_CHAT_LEFT: chatprintf("Left chat id: %s",args[0]); break; case TOC_CHAT_IN: { char *e,*name,*chat; /* chatprintf("got msg from chat: <%s@AIM> %s",args[1],args[3]); */ /* Need to take better action here */ e = strip_html(args[3]); name = rm_space(args[1]); chat = rm_space(args[4]); msgprintf("%s",cparse(fget_string_var(FORMAT_PUBLIC_OTHER_FSET), "%s %s %s %s", update_clock(GET_TIME), name, chat, e)); free(name); free(chat); break; } case TOC_GOTO_URL: statusprintf("GOTO_URL: %s",args[0]); break; case TOC_CHAT_INVITE: statusprintf("Invited to %s by %s '%s'",args[0],args[2],args[3]); break; case TOC_LAG_UPDATE: case TOC_WENT_IDLE: if ( get_dllint_var("aim_window") ) build_aim_status(get_window_by_name("AIM")); break; case TOC_DIR_STATUS: if ( atoi(args[0]) == 1 ) statusprintf("Directory information successfully changed."); else statusprintf("Error altering directory information, error code: %s",args[0]); break; default: statusprintf("INTERNAL ERROR: Unknown toc type: %d",type); } return 1; }