• src/sftp/sftp_client.c

    From Deucе@VERT to Git commit to main/sbbs/master on Fri Apr 24 23:01:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2710c20e54f8a1affdcfb024
    Modified Files:
    src/sftp/sftp_client.c
    Log Message:
    sftp: drop pthread_key TLS for last-error, store on state struct

    pthread_key_create / pthread_setspecific / pthread_getspecific are not
    shimmed by xpdev/threadwrap.h (only pthread_mutex_* is), so sftp_client.c
    did not build on Win32 or any other non-pthreads target. Replace the TLS
    slot with a plain uint32_t last_error field on struct sftp_client_state; state->mtx already serializes every op, so no new lock is needed. Public
    API (sftpc_get_err and the bool returns from sftpc_open/read/write/etc.)
    is unchanged.

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

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