• src/doors/clans-src/src/clanslib.vcxproj langcomp.vcxproj platform.h q

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Jul 23 00:07:59 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