• Improvements to linux dosemu support

    From Rob Swindell@VERT to GitLab note in main/sbbs on Wed Dec 16 01:00:33 2020
    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 Wed Dec 16 01: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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Wed Dec 16 01:07:45 2020
    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 Wed Dec 16 01:07:45 2020
    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 Wed Dec 16 01: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';`

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Wed Dec 16 01: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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Wed Dec 16 01:07:47 2020
    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 Wed Dec 16 01: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".

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Wed Dec 16 01: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?

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