Skip to content
Snippets Groups Projects
Commit 15849442 authored by deuce's avatar deuce
Browse files

Add a NOT_YMODEM return code.

Indicates that block zero was expected, but block one was recieved.
parent 02318c90
No related branches found
No related tags found
No related merge requests found
......@@ -55,4 +55,4 @@
#define VAR_HDRS (1<<1) /* Use variable headers */
#define NOINP -1 /* input buffer empty (incom only) */
#define NOT_YMODEM -3 /* Expected block zero, got block one */
\ No newline at end of file
......@@ -234,6 +234,8 @@ int xmodem_get_block(xmodem_t* xm, uchar* block, unsigned expected_block_num)
if(block_num!=(uchar)(expected_block_num&0xff)) {
lprintf(xm,LOG_WARNING,"Block number error (%u received, expected %u)"
,block_num,expected_block_num&0xff);
if(expected_block_num==0 && block_num==1)
return(NOT_YMODEM);
if(expected_block_num && block_num==(uchar)((expected_block_num-1)&0xff))
continue; /* silently discard repeated packets (ymodem.doc 7.3.2) */
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment