From 15849442d0dbc4a7ac9c309dfe4d74b8cf42471d Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sat, 9 Feb 2008 05:31:06 +0000 Subject: [PATCH] Add a NOT_YMODEM return code. Indicates that block zero was expected, but block one was recieved. --- src/sbbs3/sexyz.h | 2 +- src/sbbs3/xmodem.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/sexyz.h b/src/sbbs3/sexyz.h index 30f671301b..dc156630c0 100644 --- a/src/sbbs3/sexyz.h +++ b/src/sbbs3/sexyz.h @@ -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 diff --git a/src/sbbs3/xmodem.c b/src/sbbs3/xmodem.c index 0fcc0d2d48..06230be562 100644 --- a/src/sbbs3/xmodem.c +++ b/src/sbbs3/xmodem.c @@ -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; -- GitLab