From f6d6256a0b330341736dbc2d4424de905ef278dc Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 25 Feb 2010 03:34:48 +0000
Subject: [PATCH] Avoid divide by zero when sending/receiving zero byte files.

---
 src/sbbs3/sexyz.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/sexyz.c b/src/sbbs3/sexyz.c
index da42a32e17..d51fb8a572 100644
--- a/src/sbbs3/sexyz.c
+++ b/src/sbbs3/sexyz.c
@@ -712,7 +712,7 @@ void xmodem_progress(void* unused, unsigned block_num, ulong offset, ulong fsize
 				,l/60L
 				,l%60L
 				,cps
-				,(long)(((float)offset/(float)fsize)*100.0)
+				,fsize?(long)(((float)offset/(float)fsize)*100.0):100
 				);
 		} else if(mode&YMODEM) {
 			fprintf(statfp,"\rBlock (%lu%s): %lu  Byte: %lu  "
@@ -726,7 +726,7 @@ void xmodem_progress(void* unused, unsigned block_num, ulong offset, ulong fsize
 				,l/60L
 				,l%60L
 				,cps
-				,(long)(((float)offset/(float)fsize)*100.0)
+				,fsize?(long)(((float)offset/(float)fsize)*100.0):100
 				);
 		} else { /* XModem receive */
 			fprintf(statfp,"\rBlock (%lu%s): %lu  Byte: %lu  "
@@ -781,7 +781,7 @@ void zmodem_progress(void* cbdata, uint32_t current_pos)
 			,l/60L
 			,l%60L
 			,cps
-			,(long)(((float)current_pos/(float)zm.current_file_size)*100.0)
+			,zm.current_file_size?(long)(((float)current_pos/(float)zm.current_file_size)*100.0):100
 			);
 		newline=FALSE;
 		last_progress=now;
-- 
GitLab