From cbae690ba229cc4b7bef18f0f36fbcd0dc7d3f38 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 19 Apr 2005 09:25:09 +0000 Subject: [PATCH] Don't set parity bit on LF value following hex headers (dunno why FDSZ does). Added comments regarding ZF3 value in ZRQINIT header. --- src/sbbs3/zmodem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sbbs3/zmodem.c b/src/sbbs3/zmodem.c index 6284c5d54a..5e0a5824ed 100644 --- a/src/sbbs3/zmodem.c +++ b/src/sbbs3/zmodem.c @@ -268,7 +268,7 @@ zmodem_tx_hex_header(zmodem_t* zm, unsigned char * p) */ zmodem_tx_raw(zm, '\r'); - zmodem_tx_raw(zm, '\n'|0x80); /* FDSZ sends 0x8a instead of 0x0a */ + zmodem_tx_raw(zm, '\n'); /* FDSZ sends 0x8a instead of 0x0a */ if(type!=ZACK && type!=ZFIN) zmodem_tx_raw(zm, XON); @@ -1204,7 +1204,9 @@ void zmodem_parse_zrinit(zmodem_t* zm) int zmodem_get_zrinit(zmodem_t* zm) { - unsigned char zrqinit_header[] = { ZRQINIT, 0, 0, 0, 0 }; + unsigned char zrqinit_header[] = { ZRQINIT, /* ZF3: */0, 0, 0, /* ZF0: */0 }; + /* Note: sz/dsz/fdsz sends 0x80 in ZF3 because it supports var-length headers. */ + /* We do not, so we send 0x00, resulting in a CRC-16 value of 0x0000 as well. */ zmodem_tx_raw(zm,'r'); zmodem_tx_raw(zm,'z'); -- GitLab