diff --git a/src/sbbs3/download.cpp b/src/sbbs3/download.cpp index d3a53c187cb9d9322a92efe3ebe7799869afe37f..bfbcc236e8ca6d7bc206e7568da2a3e7de321d18 100644 --- a/src/sbbs3/download.cpp +++ b/src/sbbs3/download.cpp @@ -191,7 +191,12 @@ int sbbs_t::protocol(char *cmdline, int cd) sprintf(msg,"Transferring %s",cmdline); spymsg(msg); sys_status|=SS_FILEXFER; - i=external(cmdline,EX_OUTL,p); + i=external(cmdline + ,EX_OUTL +#ifdef __unix__ /* file xfer progs use stdio on Unix */ + |EX_INR|EX_OUTR +#endif + ,p); sys_status&=~SS_FILEXFER; if(online==ON_REMOTE) rioctl(IOFB); diff --git a/src/sbbs3/execmisc.cpp b/src/sbbs3/execmisc.cpp index f9476d0781e5e411c5b8a566f023d25668ef672b..f1b3ddd5100c65cb6de030f6dea3078ae465b9d5 100644 --- a/src/sbbs3/execmisc.cpp +++ b/src/sbbs3/execmisc.cpp @@ -965,7 +965,11 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) if(i<cfg.total_prots) if(external(cmdstr(j==SEND_FILE_VIA ? cfg.prot[i]->dlcmd : cfg.prot[i]->ulcmd,str,str,buf) - ,EX_OUTL)==0) + ,EX_OUTL +#ifdef __unix__ /* file xfer progs use stdio on Unix */ + |EX_INR|EX_OUTR +#endif + )==0) csi->logic=LOGIC_TRUE; return(0); case SEND_FILE_VIA_VAR: @@ -983,7 +987,11 @@ int sbbs_t::exec_misc(csi_t* csi, char *path) if(i<cfg.total_prots) if(external(cmdstr(j==SEND_FILE_VIA_VAR ? cfg.prot[i]->dlcmd : cfg.prot[i]->ulcmd,*pp,*pp,buf) - ,EX_OUTL)==0) + ,EX_OUTL +#ifdef __unix__ /* file xfer progs use stdio on Unix */ + |EX_INR|EX_OUTR +#endif + )==0) csi->logic=LOGIC_TRUE; return(0);