• src/sbbs3/getstats.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, September 18, 2024 14:32:21
    https://gitlab.synchro.net/main/sbbs/-/commit/5518bddb66f26e915b44d911
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Fix return value of fclose_dstats - not currently checked anywhere

    fclose() returns 0 on success.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, September 18, 2024 14:32:21
    https://gitlab.synchro.net/main/sbbs/-/commit/49027a4c86062a4fd6d2588b
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Fix comment header for putstats() - copy/pasted from getstats()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thursday, September 19, 2024 23:10:01
    https://gitlab.synchro.net/main/sbbs/-/commit/289577c6948e58ae0ee49fbc
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    In debug builds only, backup dsts.ini file when opening for write

    Hopefully help to determine cause of issue #791 (when is the apparent corruption of this file occurring?)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thursday, September 19, 2024 23:10:01
    https://gitlab.synchro.net/main/sbbs/-/commit/c8cfd95ba7e06f45c62eb03e
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Non-functional changes

    iniWriteFile() returns bool, not int.

    Removed inapplicable function comment.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, September 21, 2024 13:08:41
    https://gitlab.synchro.net/main/sbbs/-/commit/f4d4eaad66b52f5cf3309c44
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    fread_dstats() will now return false upon file read failure

    The file position should always be at the EOF after reading the contents.

    This should help detect (log errors) upon potential cause of issue #791.

    - use a little easier to read .ini style
    - add a NULL argument check to local function write_dstats()
    return false rather than deref the NULL pointer

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Saturday, September 21, 2024 13:08:41
    https://gitlab.synchro.net/main/sbbs/-/commit/cd049a4e9354a5505d5455ff
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Don't update/rewrite dsts.ini when iniReadFile returns NULL

    Even if the empty, iniReadFile() should return an empty list (not NULL),
    NULL indicates a file read (or unlikely malloc failure) - so don't write back what we read and return false (result) instead.

    Part of likely work-around of issue #791: it's better to not increment stats upon a file read error than to reset them all to zero.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, November 03, 2024 03:55:14
    https://gitlab.synchro.net/main/sbbs/-/commit/aa1b62266da07a18b3850b0c
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Don't backup the dsts.ini file when saving changes, not needed any more

    Root-caused this problem to read() failures which are now caught and logged rather than zeroing out the statistics fields.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, November 03, 2024 13:57:08
    https://gitlab.synchro.net/main/sbbs/-/commit/ff7d388c5a671aa9d07a2267
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    Don't indent the Date key in the root section

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, August 17, 2026 02:13:46
    https://gitlab.synchro.net/main/sbbs/-/commit/52d64f2934d867dc7d66f198
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    getstats.c: don't require the thread wrappers to count the bases

    getstats.c is linked into the stand-alone utilities as well as into the
    BBS, and those utilities import only xpdev.props, not xpdev_mt.props. The message/file total cache added in a464bc3efd (finite-27-know, 2026-08-17) called pthread_once() and pthread_mutex_*() unconditionally, so dupefind, makeuser, sbbsecho, upgrade_to_v319 and upgrade_to_v320 all failed to
    link with LNK2019 on those four symbols. GCC did not catch it: on Linux
    pthread is available to every link set, so the dependency was invisible
    there.

    Serialize only where XPDEV_THREAD_SAFE says the wrappers are linked. The utilities are single-threaded, so there is nothing to serialize against
    and the cache logic is unchanged for them.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

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