• Improvements to linux dosemu support

    From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:00:33
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1223

    Better. :-)

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:44
    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.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:45
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1225

    .ini files aren't scripts.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:45
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1226

    nit: "games"

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:46
    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';`

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:46
    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.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:47
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1229

    So here, this would be just:
    `runtype = "FOSSIL";`

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:48
    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".

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Tuesday, December 15, 2020 20:07:48
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/56#note_1231

    Any reason to not support the node number replacement/macro in this file?

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net