• src/doors/clans-src/src/c

    From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Thu Jul 23 00:07:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/eed013b251f27881d5907507
    Modified Files:
    src/doors/clans-src/src/clanslib.vcxproj langcomp.vcxproj platform.h qtest.vcxproj scripteng.c unix_wrappers.c win_wrappers.c win_wrappers.h
    Log Message:
    clans: fix the Win32 MSVC build

    src/clans.sln compiled nothing on MSVC, and past that failure linked eight
    of its sixteen binaries short. Four independent things had drifted apart
    from the sources they build.

    win_wrappers both declared and defined its own strdup, a body that only
    called _strdup. The UCRT already declares strdup, so the redeclaration
    drew C4273 (inconsistent dll linkage) and every call site drew C4996 for
    the deprecated POSIX name -- which /sdl, on in these projects, makes an
    error, so clanslib never reached the linker. Map the POSIX spelling onto
    the underscored one instead; <string.h> is included first, so that
    rewrites our calls and not the CRT's own declaration.

    u8cp437.c was in no project at all, leaving u8_fopen/u8_fgets unresolved
    in the eight tools that read the UTF-8 data files. It belongs in clanslib, which every one of them already links.

    langcomp's post-build step still named ../data/strings.txt, which the CP437-to-UTF-8 conversion replaced with strings.u8.txt, so generating mstrings.h failed and took the game binary down with it.

    qtest was missing scripteng.c -- QTEST_OBJS in src/GNUmakefile has it --
    and scripteng.c in turn called POSIX strncasecmp directly, the one file
    that does not go through the plat_* wrappers. Add plat_strnicmp beside plat_stricmp and use it.

    All sixteen projects now build Release|x86. Only MSVC was compiled here;
    the Unix and mingw builds are untested, though what they see of this is a declaration, one new wrapper function, and two call sites.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Fri Jul 24 23:17:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4e7bf113c459a29139058d6f
    Modified Files:
    src/doors/clans-src/src/clans.sln langcomp.vcxproj src/doors/syncretro/syncretro_games.c src/doors/syncscumm/build.bat
    Log Message:
    doors: fix three Win32 build failures

    syncretro_games.c used PATH_MAX with nothing defining it: dirwrap.h
    defines MAX_PATH from PATH_MAX, not the reverse, and MSVC's <limits.h>
    has none. Guard it locally, as the door's three other users already do. Introduced in 81c14a4900.

    clans could not build from a checkout: langcomp generates mstrings.h,
    which clanslib's alliance.c includes, but langcomp linked clanslib --
    a cycle. Compile langcomp's four sources directly, as LANGCOMP_OBJS in
    the GNUmakefile does, and let clanslib depend on langcomp. 676578353d
    added the generation step but missed clanslib.

    syncscumm's build.bat never generated the git_hash.h that dialogs.cpp
    includes for the GMM build stamp; only build.sh did. 596369dcc4.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sat Jul 25 00:51:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1a4a9e398217730a83fa6ff6
    Modified Files:
    src/doors/clans-src/src/clans.props
    Log Message:
    doors/clans: keep incremental builds under a 32-bit MSBuild

    bfa98ca2333 selected the x64-hosted compiler for every project in
    clans.sln, then answered the TRK0002 that causes under a 32-bit MSBuild
    by switching access tracking off there. That buys the C1001 fix at the
    price of the header-dependency data: every build from a 32-bit MSBuild recompiles all sixteen projects. Which is most of them -- a bare
    `msbuild` is the 32-bit one after VsDevCmd/VsMSBuildCmd, src/sbbs3's own build.bat included -- while src/doors/build.bat, pointed at Bin\amd64 in
    the same commit, kept its incremental builds. Reported by Deuce.

    Condition the compiler rather than the tracking. A 64-bit MSBuild still
    gets the x64 host that dodges the C1001, and with tracking intact; a
    32-bit MSBuild is left exactly as it was before bfa98ca2333, incremental
    and exposed to the C1001 only when also building in parallel. Nobody
    is worse off than before that commit.

    Verified per host with MSBuild -getProperty (x64/true and x86/true), and
    by rebuild blast radius with obj/ cleared: full build 74 compiles, an
    unchanged tree 0, one touched source 1 -- under both.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sat Jul 25 00:54:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/55526e5885faed1d370fce3a
    Modified Files:
    src/doors/clans-src/src/clans.props
    Log Message:
    Remove comment I'll never want to read again.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sat Jul 25 02:41:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/71482fd322ef5cf230ccd66a
    Modified Files:
    src/doors/clans-src/src/clans.props
    Log Message:
    Merge branch 'master' of gitlab.synchro.net:main/sbbs

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