From fc4ee1b9f4fe8397fedcb8c91a62124fb718753f Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Windows 11)" <rob@synchro.net>
Date: Tue, 22 Apr 2025 16:11:21 -0700
Subject: [PATCH] Allow C escape sequences in EXEC: @-code argument, to allow
 param passing

e.g. separate module name from command-line params with \x20 and separate
params from eachother with \x20.
---
 src/sbbs3/atcodes.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp
index 48426793c0..ceb183e3a0 100644
--- a/src/sbbs3/atcodes.cpp
+++ b/src/sbbs3/atcodes.cpp
@@ -1587,7 +1587,9 @@ const char* sbbs_t::atcode(const char* sp, char* str, size_t maxlen, int* pmode,
 	}
 
 	if (!strncmp(sp, "EXEC:", 5)) {
-		exec_bin(sp + 5, &main_csi);
+		SAFECOPY(tmp, sp + 5);
+		c_unescape_str(tmp);
+		exec_bin(tmp, &main_csi);
 		return nulstr;
 	}
 
-- 
GitLab