Skip to content
Snippets Groups Projects
Commit d8cb42f8 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Fix failure to recognize remote cancel if send buffer full.

xmodem_cancel() would return an error if putcom() failed, *before*
setting the "cancelled" [sic] flag. xmodem_cancel() in response to the
receipt of a remote cancel request (^X character).
parent 5f720ea4
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #892 passed
...@@ -167,13 +167,13 @@ int xmodem_cancel(xmodem_t* xm) ...@@ -167,13 +167,13 @@ int xmodem_cancel(xmodem_t* xm)
int result; int result;
if(!is_cancelled(xm) && is_connected(xm)) { if(!is_cancelled(xm) && is_connected(xm)) {
xm->cancelled=TRUE;
for(i=0;i<8 && is_connected(xm);i++) for(i=0;i<8 && is_connected(xm);i++)
if((result=putcom(CAN))!=0) if((result=putcom(CAN))!=0)
return result; return result;
for(i=0;i<10 && is_connected(xm);i++) for(i=0;i<10 && is_connected(xm);i++)
if((result=putcom('\b'))!=0) if((result=putcom('\b'))!=0)
return result; return result;
xm->cancelled=TRUE;
} }
xmodem_flush(xm); xmodem_flush(xm);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment