• Improvements to linux dosemu support

    From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:00:33 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1223

    Better. :-)
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:44 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1224

    There are no absolute paths to "/sbbs" in Synchronet configuration files by default (and ideally, never necessary). Sorry if this was like this before and I just didn't notice it. Instead, maybe just check if the path is a relative path and if it is, make it relative to the CWD (which is also the Synchronet ctrl directory, wherever that may happen to be). So the default could be just "dosemu.conf". If the key value is an absolute path (hint: use `isabspath()`), then just use it as is.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:45 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1225

    .ini files aren't scripts.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:46 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1227

    This works fine for setting a string to blank/empty, but it's a bit heavy-handed. The more normal/expected way would be:`*gamedir = '\0';`or:`gamedir[0] = '\0';`
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:47 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1229

    So here, this would be just: `runtype = "FOSSIL";`
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:48 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1230

    The code appears to be looking for dosemu.ini in the exec directory, yet the comment says "ctrl dir".
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:45 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1226

    nit: "games"
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:46 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1228

    A couple of things here: using *exact* sizes for small strings is especially dangerous (off-by-one is a popular mistake and cause of stack corruption). Better to over-allocate or even better yet: don't allocate at all. Just use `const char* runtype;` in this case and then assign it the constant value you want later (e.g. `runtype = "something";`). No chance of accidental buffer overflow then.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to GitLab note in main/sbbs on Tue Dec 15 20:07:48 2020
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1231

    Any reason to not support the node number replacement/macro in this file?
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)