• Improvements to linux dosemu support

    From Michael Long@VERT to GitLab note in main/sbbs on Thu Dec 10 14:46:45 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1144

    mortifis and nelgin approved

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 02:23:26 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1149

    What's the difference between SBBSCTRL and CTRLDIR here? Same question for all the other appear dupes (SBBSDATA, DATADIR, etc.). I'm not clear why we need both sets.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 02:23:26 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1150

    What's the significance of the '3' here? It's saying you want a string a least 3 characters in width. I would think single-digit node numbers should just be a single character.

    Also, the more correct way to do this would be to put the node number in a named_int_t list and pass that (instead of NULL) to the replace_named_values() function.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 02:23:27 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1151

    It looks like you're using `str[0]` as temporary state variable indicating if the file exists or not. This could be reduced to just:
    ```
    if (!fexist(str)) {
    SAFEPRINTF(str,"%sdosemulaunch.ini",cfg.exec_dir);
    ```
    You don't need these extra assignments and checking of `str[0]`.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 02:23:27 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1152

    change `escape_seq` to a `const char*` and you won't need that typecat (`(char*)`) in xtrn.cpp.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 02:23:28 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1153

    Should this string be configurable too?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Fri Dec 11 03:01:38 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1154

    They were pre-existing, I assumed they were env variables used by some native synchronet doors or something

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 03:09:11 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1155

    Right, but "CTRLDIR" is new (introduced in this merge request). How is it different from SBBSCTRL?

    Maybe if you included an example of a generated external.bat file, we could see more clearly what's going on here.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Fri Dec 11 03:11:51 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1156

    Yes, here:

    SET DSZLOG=D:\PROTOCOL.LOG
    SET SBBSNODE=D:
    SET SBBSNNUM=1
    SET SBBSCTRL=F:
    SET SBBSDATA=G:
    SET SBBSEXEC=H:
    SET PCBNODE=1
    SET PCBDRIVE=D:
    SET PCBDIR=\
    SET XTRNDIR=\sbbs\xtrn
    SET CTRLDIR=\sbbs\ctrl
    SET DATADIR=\sbbs\data
    SET EXECDIR=\sbbs\exec
    SET NODEDIR=\sbbs\node1
    SET STARTDIR=bre

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Fri Dec 11 03:15:27 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1157

    Okay, so none of these env variables are actually used in this batch file. Are they used in another batch file (i.e. maybe one that calls `lredir`)?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Michael Long@VERT to GitLab note in main/sbbs on Fri Dec 11 03:18:09 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1158

    they are used

    `@ECHO OFF
    SET DSZLOG=D:\PROTOCOL.LOG
    SET SBBSNODE=D:
    SET SBBSNNUM=1
    SET SBBSCTRL=F:
    SET SBBSDATA=G:
    SET SBBSEXEC=H:
    SET PCBNODE=1
    SET PCBDRIVE=D:
    SET PCBDIR=\
    SET XTRNDIR=\sbbs\xtrn
    SET CTRLDIR=\sbbs\ctrl
    SET DATADIR=\sbbs\data
    SET EXECDIR=\sbbs\exec
    SET NODEDIR=\sbbs\node1
    SET STARTDIR=bre
    @unix -s NODEDIR
    @lredir D: linux\fs%NODEDIR% >NUL
    @lredir E: linux\fs%XTRNDIR% >NUL
    @lredir F: linux\fs%CTRLDIR% >NUL
    @lredir G: linux\fs%DATADIR% >NUL
    @lredir H: linux\fs%EXECDIR% >NUL

    E:

    IF NOT "" == "%STARTDIR%" CD %STARTDIR%

    REM Optionally call emusetup.bat or put that stuff here for global (in NOEMU) REM Looks in startup dir, then ctrl dir
    IF EXIST EMUSETUP.BAT GOTO EMULOCAL
    IF EXIST F:\EMUSETUP.BAT GOTO EMUGLOBAL
    IF EXIST E:\DOSUTILS\NUL GOTO NOEMU
    ECHO ERROR: No emusetup.bat in E:\%STARTDIR% or F, or E:\DOSUTILS\ is missing GOTO EXEC

    :EMULOCAL
    CALL EMUSETUP.BAT
    GOTO EXEC

    :EMUGLOBAL
    CALL F:\EMUSETUP.BAT
    GOTO EXEC

    :NOEMU
    @set PATH=%PATH%;E:\dosutils
    unix -s RUNTYPE
    REM fossil driver, such as x00, bnu, or dosemu fossil.com
    rem IF "%RUNTYPE%" == "FOSSIL" @fossil.com >NUL
    rem IF "%RUNTYPE%" == "FOSSIL" bnu.com /P1 /L0=11520 >NUL
    IF "%RUNTYPE%" == "FOSSIL" x00.exe eliminate >NUL
    REM share.exe for multinode file locking
    @share >NUL

    GOTO EXEC

    :EXEC
    bre score

    IF NOT "%1" == "TEST" exitemu


    REM For debugging: /usr/bin/env TERM=linux RUNTYPE=STDIO HOME=/sbbs/ctrl/ QUIET=1 DOSDRIVE_D=/sbbs/node1/ NODEDIR=/sbbs/node1/ /usr/bin/dosemu.bin -I"video { none }" -I'keystroke "\n"' -f/etc/dosemu/dosemu.conf -ED:external.bat -o/sbbs/node1/dosemu_boot.log >> /sbbs/data/dosevent_bre.log`

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Gamgee@VERT/PALANT to Rob Swindell on Fri Dec 11 05:39:00 2020
    Rob Swindell wrote to GitLab note in main/sbbs <=-

    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1151

    It looks like you're using `str[0]` as temporary state variable
    indicating if the file exists or not. This could be reduced to
    just: ```
    if (!fexist(str)) {
    SAFEPRINTF(str,"%sdosemulaunch.ini",cfg.exec_dir);
    ```
    You don't need these extra assignments and checking of `str[0]`.

    Has this sub-board become JS_LESSONS?

    I don't recall this kind of stuff in here until just recently, is all.



    ... All hope abandon, ye who enter messages here.
    --- MultiMail/Linux v0.52
    þ Synchronet þ Palantir BBS * palantirbbs.ddns.net * Pensacola, FL
  • From Digital Man@VERT to Gamgee on Fri Dec 11 05:34:57 2020
    Re: Re: Improvements to linux dosemu support
    By: Gamgee to Rob Swindell on Thu Dec 10 2020 09:39 pm

    Rob Swindell wrote to GitLab note in main/sbbs <=-

    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1151

    It looks like you're using `str[0]` as temporary state variable indicating if the file exists or not. This could be reduced to
    just: ```
    if (!fexist(str)) {
    SAFEPRINTF(str,"%sdosemulaunch.ini",cfg.exec_dir);
    ```
    You don't need these extra assignments and checking of `str[0]`.

    Has this sub-board become JS_LESSONS?

    I don't recall this kind of stuff in here until just recently, is all.

    It's new - gitlab integration with some dove-net subs. This is C++ code (part of a commit/merge request).
    --
    digital man

    Sling Blade quote #2:
    Karl (re: killing Doyle): I hit him two good whacks in the head with it.
    Norco, CA WX: 50.9øF, 87.0% humidity, 0 mph S wind, 0.00 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Bob Roberts@VERT/HOVAL to Digital Man on Fri Dec 11 16:25:00 2020
    Re: Re: Improvements to linux dosemu support
    By: Digital Man to Gamgee on Thu Dec 10 2020 09:34 pm

    It's new - gitlab integration with some dove-net subs. This is C++ code (part of a commit/merge request). --

    I like seeing the gitlab activity. It lets me know what new features/fixes are in development and when the time is ripe to pull down the new code and compile.

    |01bobbobbobbob|09bob|03bob|11bob|03bob|09bob|01bobbobbob |01robrobrobrob|09rob|03rob|11rob|03rob|09rob|01robrobrob
    |07




    ... Tolkien is hobbit-forming.

    ---
    þ Synchronet þ Halls of Valhalla =San=Francisco= Happy Holidays
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 08:52:10 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1194

    Okay, this is good. We'll set this value to false in the sbbs.ini in Git and that way new sysops should just need to set this one option to true after installing DOSemu. Easy.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:31 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1195

    I agree with Nelgin on this, just name the file dosemu.conf since that's the common name.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:31 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1196

    Can we just call this file dosemu.ini?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:32 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1197

    Huh? What's that mean? If I insert the line "blah=true", it's going to be used? I don't think so.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:33 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1198

    Did you mean say .ini here (not .bat)?

    And let's call them "doors" or "external programs" since not all external programs are "games".

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:33 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1199

    How about "path to Synchronet ctrl directory"? Just repeating the variable name with a space doesn't add any value.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:33 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1200

    By "standard" I think you mean COM/UART/FOSSIL I/O external programs. They're really no more standard than "standard I/O" doors, just more common.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:34 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1201

    Let's not call them "games".

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:35 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1202

    This needs to be conditional on DOSemu being enabled. If Linux and not DOSemu enabled, then no DOS support.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:35 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1203

    Ideally, you wouldn't be repeating string constants like "external.bat" - you'd define a char* constant instead and use it (look-up the the DRY principle). It's not a big deal however, just a nit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:36 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1204

    another "external.bat" repeated here. See what I mean?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tue Dec 15 09:07:37 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1205

    Just a head's up: this is a long unused program. I'll likely just remove it from the repo after this merges.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to All on Tue Dec 15 09:16:31 2020
    Re: Improvements to linux dosemu support
    By: Rob Swindell to GitLab note in main/sbbs on Tue Dec 15 2020 01:07 am

    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1205

    GitLab Comments/Reviews on merge requests should be posted in the Sync (C/C++) Programming sub from here on.
    --
    digital man

    Synchronet "Real Fact" #81:
    Vertrauen has had the FidoNet node number 1:103/705 since 1992.
    Norco, CA WX: 52.1øF, 45.0% humidity, 2 mph WSW wind, 0.02 inches rain/24hrs ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net