• src/xpdev/gen_defs.h

    From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Tue Jan 24 12:44:00 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c0e857c930feb9833d40617f
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Make SAFECOPY() even safer by not passing NULL destination to strncpy()This should resolve (new) CID 434884 and 434885.Also, remove the SAFECOPY_USES_SPRINTF check/block - nobody enables this.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Thu Jan 26 23:30:10 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/1e3a6b84e7bc1485b2a96828
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Revert "Make SAFECOPY() even safer by not passing NULL destination to strncpy()"This reverts commit c0e857c930feb9833d40617f00ff5d11be9f7772.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Thu Jan 26 23:45:00 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ea99ca801e63268479f91e94
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Add XSAFECOPY (extra safe copy) that won't pass NULL to strncpy()The previous (reverted) change to SAFECOPY would double-resolve the (src)argument and caused weird side effects.Again, removes SAFECOPY_USES_SNPRINTF since it was unused.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:38:39 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ffd5385d1510e7da8a547970
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Use strlcpy() for X?SAFECOPY() macros.

    Also, for DEBUG builds, add a static assertion that
    sizeof(dst) != sizeof(void*) to catch the most common breakage.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:42:26 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d13fa3bd3eb4953a587c6d5d
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Use static_assert() macro instead of _Static_assert keyword

    More compatible with C++ that way.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:48:03 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a8c0ac5da5374f83333b570e
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Fix stale comment about XSAFECOPY (now uses strlcpy, not strncpy)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:48:38 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2b3a174068b33c4c947b2b21
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    static_assert() only available with C11 and higher.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:50:56 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/406ea9488765141c69185e81
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Borland expects ()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 11:53:02 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a987cf4b49ff92f4925f7106
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Stop interlacing preprocessor stuff.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 22 23:11:54 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c64357b949c68ff54489f1e1
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    include genwrap.h at the end of gen_defs.h for strlcpy()/strlcat().

    This whole library is starting to get crufty and could use a room
    at a hackathon.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sun Mar 24 17:58:57 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/be523ad92bf537adb4c195f3
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Remove obsolete note comment about genwrap.h
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Sep 30 10:03:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/59a695825a13d6898fb804a0
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Don't rely on locale for isspace()

    With truncsp() and SKIP_WHITESPACE() dominating runtime for INI
    parsing now, the locale lookups needed for every isspace() call
    have become significant. Since we likely don't actually want isspace()
    to use the local, expand the C locale whitespace table directly.

    This provides a 20% performance boost to INI parsing when using
    the FastParse calls (much smaller using other parsing functions)
    and is likely to improve various other whitespace-heavy things.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Oct 9 16:02:28 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a4a69d20760f5f5608658fe5
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    inttypes.h and stdint.h are part of C99 and C++17

    So we can assume the exist if we're using a C99 or newer compiler.
    stdint.h is in C++11 (though inttypes.h isn't)

    This has been the most painful bit of xpdev for a while now.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Oct 10 12:45:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a136e0d08cd0da404a519b01
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Both inttypes.h and stdint.h were in C++11
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Jan 13 22:16:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3d7d3472419f9be65f6d7e29
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Suppress a Coverity issue with typecast

    CID 640989: (CONSTANT_EXPRESSION_RESULT)
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Jan 14 15:28:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/cec1342f9738b7d2eae4ce02
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Forgot the extra parens needed in macros

    Resolve a bunch of Coverity issues, e.g.
    CID 641215: (CONSTANT_EXPRESSION_RESULT)
    CID 641216: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
    CID 641217: (CONSTANT_EXPRESSION_RESULT)
    CID 641218: (CONSTANT_EXPRESSION_RESULT)
    CID 641219: Integer handling issues
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 19 15:32:39 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/41a56832d5f1c08beb68c43f
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Remove the typecast before CP437_NO_BREAK_SPACE check causing Clang warnings

    ... was added in commit 3d7d34724 to resolve Coverity issue. So that Coverity issue will return. <shrug>

    Add more parens for macro-safety.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on macOS)@1:103/705 to Git commit to main/sbbs/master on Wed Mar 18 22:41:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8fd7e6a66dc4ccc549d76fb8
    Modified Files:
    src/xpdev/gen_defs.h
    Log Message:
    Typecast both sides of the equality comparison in IS_WHITESPACE definition

    to make Clang happy

    warning: result of comparison of constant 'CP437_NO_BREAK_SPACE' (-1) with expression of type 'const unsigned char' is always false
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)