• src/xpdev/genwrap.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Dec 18 14:52:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/746ccfd57d43877a95aaded3
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Attempt to fix musl builds

    The non-standard strerror_r() is glibc specific, musl doesn't do
    that. It *appears* that __USE_GNU implies glibc.
    --- SBBSecho 3.23-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 Dec 19 18:15:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8084997ba19ed4b9c1773003
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Use RtlGetVersion to get/report Windows 11 (and build number) correctly

    This is fun Microsoft. If Windows 11 is actually Windows 10.22000+, what will Windows 12 be? No one can guess.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Dec 19 19:00:52 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0c385ef21ba3488214dfa917
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Only use RtlGetVersion for Windows 10/11

    This function appears to truncate the service pack info for Windows 7 (6.1): "Windows NT Version 6.1 (Build 7601) Service Pack 1 x86" became:
    "Windows NT Version 6.1 (Build 7601) S x86"

    Don't close the handle to ntdll.dll (hey, that's stupid filename, Microsoft!) since the module could be unloaded from the address space and then a call to the captured procedure address could/would crash. This handle will be closed when the process terminates anyway.

    While we're here, correct the Windows 6.1 -> 7.0 numbering. That looks better: "Windows NT Version 7.0 (Build 7601) Service Pack 1 x86"

    Something should probably be done for Windows 6.2 -> 8.0 numbering too, but I don't have a VM handy. Is anyone actually still running Windows 8.x?
    --- SBBSecho 3.23-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 Dec 24 03:52:04 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3046bd7ae4c3a503d9c5762d
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Simplify the Windows version detection a bit, don't use NetWkstaGetInfo()

    I started seeing Windows 10.0 reported (without a build number) again on Windows 11 (after a regular update), so changed the logic to always try/use RtlGetVersion() except for Windows 7 where I saw it truncated the Service
    Pack details.
    --- SBBSecho 3.23-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 Jan 3 10:04:54 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0158699aff72ded56de68882
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Don't return -1 from safe_snprintf() when size is zero.
    --- SBBSecho 3.23-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 Jan 3 13:14:22 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f5a033dd24945fdd2406c66f
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Annotate risky call to random()
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 13 09:43:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8f919a6c118cd86c5b672030
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    More fixups for clock selection.
    --- SBBSecho 3.23-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 Feb 4 19:16:46 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/46e28f8d2a3862ae429d59bb
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    When building for Windows Vista+, use GetTickCount64() through-out

    At one point while migrating off the Windows XP compatible WinSDK and toolset, I was getting nice deprecation warnings in this file about uses of GetTickCount() and the 49 day roll-over isuse. I stopped getting those deprecation warnings (not sure when/why), but I'm still doing the right thing here/now and using the newer Win32 API function when it's available (always, for the versions of Windows we're building Synchronet and friends for).
    --- SBBSecho 3.23-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/1ea96df1b6d05d2730dd2a24
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Add support for NO_OS_VERSION

    This allows avoiding needing ini_file.c, strlist.c, etc. for things
    that use xpdev by just building select files.

    Otherwise you end up with a linking error. due to not finding
    iniReadFile().
    --- 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 Mon Jan 5 00:49:22 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4067f32824605ad984122488
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    duration_estimate_to_[v]str(): Don't include ".0" suffix for value of zero

    When a unit value > 1 was specified, we could get strings with extra "noise" (e.g. "0.0h" with the upcoming change to minutes_to_str()).

    This does sort of ignore the 'precision' argument in this case, but we already do (provide no fraction) for exactly-divisible values (e.g. 60min = "1h"). So if we ever uses these functions to provide columns with aligned decimals, that might be a problem.
    --- 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 Fri Jan 9 22:26:14 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0a26d710549f9651895bb392
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Beautify output of duration estimate string functions

    duration_estimate_to_vstr() would sometimes output plural suffixes for values of "1", e.g. "1 minutes", "1 hours" when the value was not an exact multiple (and depending on the precision argument value).

    Both duration_estimate_to_str() and duration_estimate_to_vstr() would report (depending on precision argument) values of "1.0 units" when the value is actually greater than "1.0" (by some fraction) and actual 1.0 units would be reported at "1 unit". It turns out, it's really not easy to predict the output of printf("%f") with different precision values using math, so just check the printf() output and adjust accordingly.

    Demonstration of the fixed problems using the possible parameter values
    to JS system.secondstr() and system.minutestr() with duration values 59, 60, and 61:
    '00:00:59' '59' '59m' '59m' '59 minutes' '59 minutes'
    '00:01:00' '1:00' '1h' '1h' '1 hour' '1 hour'
    '00:01:01' '1:01' '1.0h' '1h 1m' '1.0 hours' '1 hours 1 minute'
    --- 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 Tue Mar 10 01:43:02 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4d011faa0c8478bbc1ec75f4
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    c_unescape_str() no longer allocates and frees memory
    --- SBBSecho 3.37-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 Mar 11 00:14:46 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/13621f3f48d46f54fa27b4a7
    Modified Files:
    src/xpdev/genwrap.c
    Log Message:
    Put the NULL pointer check back in c_unescape_str()
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)