Commit 47e60472 authored by Rob Swindell's avatar Rob Swindell 💬
Browse files

When running 16-bit DOS commands "offline" on Windows, don't use dosxtrn

We shouldn't need a virtual UART/FOSSIL driver to execute "offline" program (e.g. timed events) in the first place, and our virtual UART/FOSSIL for Windows wouldn't work right in the scenario anyway even if it did load successfully.

This resolves the reported issues with timed events configured as not "native" returning error 255 (and not running successfully) on Windows with SBBS v3.19. I'm not even sure what changed exactly in xtrn.cpp, dosxtrn.c, and sbbexec.c between v3.18 and v3.19 that's causing this to now fail, but it (using DOSXTRN to run offline DOS programs) really shouldn't have been attempted in the first place. So that was just a design issue that happened to kind of sort of work up until v3.19.
parent d4024229
...@@ -365,6 +365,8 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) ...@@ -365,6 +365,8 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir)
bprintf("Sorry, DOS programs are not supported on this node.\r\n"); bprintf("Sorry, DOS programs are not supported on this node.\r\n");
return -1; return -1;
} }
if(mode & EX_OFFLINE)
native = true; // We don't need to invoke our virtual UART/FOSSIL driver
if(mode&EX_SH || strcspn(cmdline,"<>|")!=strlen(cmdline)) if(mode&EX_SH || strcspn(cmdline,"<>|")!=strlen(cmdline))
sprintf(comspec_str,"%s /C ", comspec); sprintf(comspec_str,"%s /C ", comspec);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment