diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c index 81a2fbac0fd629a1e938185d8ceb30c188bf474d..87eb9d4d2dea2cf10ad8659ec0cd044136994fe9 100644 --- a/src/sbbs3/sexyz.c +++ b/src/sbbs3/sexyz.c @@ -878,7 +878,10 @@ static int send_files(char** fname, uint fnames) if(success) { xm.sent_files++; xm.sent_bytes+=fsize; - lprintf(LOG_INFO,"Successful - Time: %lu:%02lu CPS: %lu" + if(zm.file_skipped) + lprintf(LOG_WARNING,"File Skipped"); + else + lprintf(LOG_INFO,"Successful - Time: %lu:%02lu CPS: %lu" ,t/60,t%60,cps); if(xm.total_files-xm.sent_files) @@ -1140,7 +1143,7 @@ static int receive_files(char** fname_list, int fnames) errors=zmodem_recv_file_data(&zm,fp,0); - if(errors<=zm.max_errors) + if(errors<=zm.max_errors && !zm.cancelled) success=TRUE; } else { @@ -1209,11 +1212,14 @@ static int receive_files(char** fname_list, int fnames) t=time(NULL)-startfile; if(!t) t=1; - if(success) + if(zm.file_skipped) + lprintf(LOG_WARNING,"File Skipped"); + else if(success) lprintf(LOG_INFO,"Successful - Time: %lu:%02lu CPS: %lu" ,t/60,t%60,file_bytes/t); else - lprintf(LOG_ERR,"File Transfer %s", zm.local_abort ? "Aborted":"Failure"); + lprintf(LOG_ERR,"File Transfer %s" + ,zm.local_abort ? "Aborted": zm.cancelled ? "Cancelled":"Failure"); if(!(mode&XMODEM) && ftime) setfdate(str,ftime); diff --git a/src/sbbs3/zmodem.c b/src/sbbs3/zmodem.c index f13f4aaf85c584b6e889cbce817b2d810a21065e..7027578765b219c081b7f15ba4040fbc94789e58 100644 --- a/src/sbbs3/zmodem.c +++ b/src/sbbs3/zmodem.c @@ -1800,7 +1800,9 @@ BOOL zmodem_send_file(zmodem_t* zm, char* fname, FILE* fp, BOOL request_init, ti if(type == ZSKIP) { zm->file_skipped=TRUE; - lprintf(zm,LOG_WARNING,"File skipped by receiver at offset: %lu", pos); + lprintf(zm,LOG_WARNING,"File skipped by receiver at offset: %lu", pos + sent_bytes); + /* ZOC sends a ZRINIT after mid-file ZSKIP, so consume the ZRINIT here */ + zmodem_recv_header(zm); return(TRUE); }