From b92bf999e3800568eb4b3e3bbebab87b2443ef51 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Sat, 20 Feb 2021 15:11:04 -0800
Subject: [PATCH] Don't do the double-EOT trick in "G-mode"

Interesting, this is how this code worked back in 2005, but was changed without a good description of why:
http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/xmodem.c?r1=1.15&r2=1.16

This addresses the anonymous SyncTERM bug report:
https://sourceforge.net/p/syncterm/tickets/46/

Thanks, whoever that was. :-)
---
 src/sbbs3/xmodem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/sbbs3/xmodem.c b/src/sbbs3/xmodem.c
index 794002990c..cb48ac0d6c 100755
--- a/src/sbbs3/xmodem.c
+++ b/src/sbbs3/xmodem.c
@@ -200,7 +200,7 @@ int xmodem_get_block(xmodem_t* xm, uchar* block, unsigned expected_block_num)
 				break;
 			case EOT:
 				lprintf(xm,LOG_DEBUG,"Block %u: EOT received", expected_block_num);
-				if(/*((*xm->mode)&(YMODEM|GMODE))==YMODEM &&*/ !eot) {
+				if(!((*xm->mode) & GMODE) && !eot) {
 					lprintf(xm,LOG_INFO,"NAKing first EOT");
 					eot=1;	
 					xmodem_put_nak(xm,expected_block_num); /* chuck's double EOT trick */
-- 
GitLab