Commit b03b6511 authored by rswindell's avatar rswindell
Browse files

The "DOS" ARS keyword has just been a "false" trigger since v3 (1999) but

I have a new use for it in the v3 Terminal Server, it now follows the
"NO_DOS" option in the [bbs] section of the sbbs.ini file. So if you have
multiple Win32 instances of sbbs (like I do), but only some of them
support DOS programs, you can now use this ARS keyword to enable/disable
access to a program based on the existance of DOS support. For example,
I have some 16-bit DOS message editors where I had the ARS set to
"WIN32", but on my 64-bit Windows instance of sbbs (vert.synchro.net),
16-bit DOS programs aren't supported while on my 32-bit Windows instance
(bbs.synchro.net) they are. So I needed a good run-time check for whether
DOS programs were supported or not and this old ARS keyword seemed the
right fit. For Linux builds, this keyword will only evaluate to true if
built with the USE_DOSEMU option.
This is only true of the Terminal Server - use of "DOS" ARS keyword in
other servers and services will still just evaluate to "false".
parent 3911389c
......@@ -167,8 +167,13 @@ bool sbbs_t::ar_exp(const uchar **ptrptr, user_t* user, client_t* client)
result=!_not;
#endif
break;
case AR_DOS:
case AR_DOS: /* DOS program support */
result=_not;
if(startup->options&BBS_OPT_NO_DOS)
break;
#if defined(_WIN32) || (defined(__linux__) && defined(USE_DOSEMU)) || defined(__FreeBSD__)
result=!_not;
#endif
break;
case AR_WIN32:
#ifndef _WIN32
......
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