diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c index 7390e8cd64de86b6da07b4da27ab9d0fc63329aa..83193819dfbb4d875519ed418f657ee91a541cfd 100755 --- a/src/sbbs3/sexyz.c +++ b/src/sbbs3/sexyz.c @@ -1094,7 +1094,7 @@ static int receive_files(char** fname_list, int fnames) outbuf.highwater_mark=0; /* don't delay ACK/NAK transmits */ /* Purge input buffer */ - while(is_connected(NULL) && (i=recv_byte(NULL,0))!=NOINP) + while(is_connected(NULL) && (i=recv_byte(NULL,0))!=NOINP && !zm.local_abort) lprintf(LOG_WARNING,"Throwing out received: %s",chr((uchar)i)); while(is_connected(NULL)) { diff --git a/src/sbbs3/xmodem.c b/src/sbbs3/xmodem.c index cb48ac0d6c2a275d6725ad2ae1e215cbf95a595f..80b412bfc3d1fd3183305cea68b1e603d48433ba 100755 --- a/src/sbbs3/xmodem.c +++ b/src/sbbs3/xmodem.c @@ -1,5 +1,4 @@ /* Synchronet X/YMODEM Functions */ -/* Synchronet X/YMODEM Functions */ /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * @@ -122,6 +121,8 @@ int xmodem_put_nak(xmodem_t* xm, unsigned block_num) lprintf(xm,LOG_DEBUG,"Block %u: Dumping byte: %02Xh" ,block_num, (BYTE)i); SLEEP(1); + if(is_cancelled(xm)) + break; } if(dump_count) lprintf(xm,LOG_INFO,"Block %u: Dumped %u bytes" @@ -436,7 +437,7 @@ BOOL xmodem_put_eot(xmodem_t* xm) unsigned errors; unsigned cans=0; - for(errors=0;errors<=xm->max_errors && is_connected(xm);errors++) { + for(errors=0;errors<=xm->max_errors && is_connected(xm) && !is_cancelled(xm);errors++) { lprintf(xm,LOG_INFO,"Sending End-of-Text (EOT) indicator (%d)",errors+1);