extern void GL_SendDataType( NETFILE *fp, PacketClass c) { nputc(c,fp); }
extern void GL_SendPacketClass( NETFILE *fp, PacketClass c) { nputc(c,fp); Flush(fp); }
char *ft_o(int i,int d) { p_str ps; ps.str_or = malloc(sizeof(char)*64); init(&ps,ps.str_or); ft_do(&i, ps.str_or, &ps.il); while (i >= 1) { *(ps.str_or+ps.il++) = nputc(i%d); i/=d; } i = --ps.il; if (*ps.str_or == '-') i += 1; while(ps.il>(i/2)) { ps.c = *(ps.str_or+ps.il); *(ps.str_or+ps.il) = *(ps.str_or+(i-ps.il)); *(ps.str_or+(i-ps.il--)) = ps.c; } return (ps.str_or); }
void display_comment(char *cmt) #endif { unsigned char c; #if SFX_LEVEL>=ARJSFXV int is_ansi=0; #endif #if TARGET==OS2 USHORT af; #endif #if SFX_LEVEL>=ARJ if(new_stderr==new_stdout) return; #endif #if TARGET==OS2 fflush(stdout); VioGetAnsi(&af, 0); VioSetAnsi(ANSI_ON, 0); #endif while((c=*(cmt++))!='\0') { #if SFX_LEVEL>=ARJSFXV if(c==ANSI_ESC) is_ansi=1; #endif #if SFX_LEVEL>=ARJSFXV&&!defined(DIRECT_TO_ANSI) if(is_ansi) { display_ansi(c); if(c==LF) display_ansi(CR); } else { #endif /* Substitute non-printable control characters with "?"'s */ #ifndef DIRECT_TO_ANSI if(c<' '&&c!=TAB&&c!=LF&&c!=CR) c=UNDISP_CHAR; #endif #if SFX_LEVEL>=ARJSFXV nputc((int)c); #else fputc((int)c, stdout); #endif #if SFX_LEVEL>=ARJ if(c==LF) { lines_scrolled++; if(lines_scrolled>=lines_per_page-1) { lines_scrolled=0; if(!yes_on_all_queries&&prompt_for_more&&is_tty(stdout)) { if(!pause()) return; } } } #endif #if SFX_LEVEL>=ARJSFXV&&!defined(DIRECT_TO_ANSI) } #endif } #if SFX_LEVEL>=ARJSFXV if(is_ansi) { #ifdef DIRECT_TO_ANSI printf("\x1B[0m\n"); #else display_ansi(LF); #endif } #endif #if TARGET==OS2 VioSetAnsi(af, 0); #endif }
static int query_action_proc(int def, int qtype, char *query) { char reply_text[INPUT_LENGTH]; int sel, key, ukey; char *sel_ptr, *rt_ptr; int rt_len; if(query!=NULL) msg_cprintf(H_PROMPT, (FMSG *)strform, query); #if SFX_LEVEL>=ARJ if(qtype!=QUERY_CRITICAL&&queries_assume_no[qtype]) { msg_cprintf(H_OPER, M_NO); msg_cprintf(0, (FMSG *)lf); return(0); } if(qtype!=QUERY_CRITICAL&&queries_assume_yes[qtype]) { msg_cprintf(H_OPER, M_YES); msg_cprintf(0, (FMSG *)lf); return(1); } #endif if(kbd_cleanup_on_input) fetch_keystrokes(); #if SFX_LEVEL>=ARJ if(accept_shortcut_keys) { while(1) { do { while(1) { key=uni_getch(); /* If possible default action selected */ if(def!=0&&key==LF) { msg_cprintf(0, (FMSG *)lf); if(def==1) return(1); if(def==2) return(0); } ukey=toupper(key); far_strcpy(strcpy_buf, M_REPLIES); sel_ptr=strchr(strcpy_buf, ukey); sel=sel_ptr-strcpy_buf; if(ukey!=0&&sel_ptr!=NULL&&(qtype!=QUERY_CRITICAL||sel<=REPLY_QUIT)) break; fetch_keystrokes(); nputc(BEL); } nputc(key); msg_cprintf(0, (FMSG *)lf); } while(sel>MAX_REPLY); switch(sel) { case REPLY_YES: return(1); case REPLY_NO: return(0); case REPLY_QUIT: exit(ARJ_ERL_WARNING); case REPLY_ALL: if(qtype!=QUERY_CRITICAL) queries_assume_yes[qtype]=1; return(1); case REPLY_SKIP: if(qtype!=QUERY_CRITICAL) queries_assume_no[qtype]=1; return(0); case REPLY_GLOBAL: yes_on_all_queries=1; return(1); case REPLY_COMMAND: query_cmd(); if(query!=NULL) msg_cprintf(H_PROMPT, (FMSG *)strform, query); } } /* There is no way down here */ } #endif /* Use an editable field */ while(1) { read_line(reply_text, INPUT_LENGTH); for(rt_ptr=reply_text; rt_ptr[0]==' '; rt_ptr++); if((rt_len=strlen(rt_ptr))>0) { strupper(rt_ptr); if(!msg_strncmp(rt_ptr, reply_help, rt_len)) { far_strcpy(strcpy_buf, (qtype==QUERY_CRITICAL)?M_REPLIES_HELP:M_ALL_REPLIES_HELP); msg_cprintf(0, (FMSG *)strcpy_buf); continue; } else if(!msg_strncmp(rt_ptr, M_NO, rt_len)) return(0); else if(!msg_strncmp(rt_ptr, M_YES, rt_len)) return(1); else if(!msg_strncmp(rt_ptr, M_QUIT, rt_len)) exit(1); else if(qtype!=QUERY_CRITICAL) { #if SFX_LEVEL>=ARJ if(!msg_strncmp(rt_ptr, M_ALWAYS, rt_len)) { if(qtype!=QUERY_CRITICAL) queries_assume_yes[qtype]=1; return(1); } if(!msg_strncmp(rt_ptr, M_SKIP, rt_len)) { if(qtype!=QUERY_CRITICAL) queries_assume_no[qtype]=1; return(0); } #endif if(!msg_strncmp(rt_ptr, M_GLOBAL, rt_len)) { yes_on_all_queries=1; return(1); } #if SFX_LEVEL>=ARJ if(!msg_strncmp(rt_ptr, M_COMMAND, rt_len)) { query_cmd(); if(query!=NULL) msg_cprintf(H_PROMPT, (FMSG *)strform, query); continue; } #endif } } else { if(def==1) return(1); if(def==2) return(0); } fetch_keystrokes(); nputc(BEL); msg_cprintf(0, M_REPLIES_HELP); } }