diff --git a/src/sbbs3/zmodem.c b/src/sbbs3/zmodem.c index 9e2a396d79ac8c6335515ff9e20be7005cbec78f..2cff5028988af2f400a143a712a9a69553f1f96f 100644 --- a/src/sbbs3/zmodem.c +++ b/src/sbbs3/zmodem.c @@ -1301,10 +1301,11 @@ int zmodem_send_zrinit(zmodem_t* zm) if(!zm->want_fcs_16) zrinit_header[ZF0] |= ZF0_CANFC32; - if(zm->no_streaming) { - zrinit_header[ZP0] = sizeof(zm->rx_data_subpacket) & 0xff; - zrinit_header[ZP1] = sizeof(zm->rx_data_subpacket) >> 8; - } + if(zm->no_streaming && zm->recv_bufsize==0) + zm->recv_bufsize = sizeof(zm->rx_data_subpacket); + + zrinit_header[ZP0] = zm->recv_bufsize & 0xff; + zrinit_header[ZP1] = zm->recv_bufsize >> 8; return zmodem_send_hex_header(zm, zrinit_header); }