• src/syncterm/syncterm.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Mar 17 15:38:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/90fd3acb4c9be21bd8e75bcc
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Only require a port number for network connections.

    Fixes URI command-line arguments for non-network connections.
    --- SBBSecho 3.37-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 Mar 19 14:38:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e89754f2017a212123986411
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix zombie process on window close while connected (ticket 229)

    CIO_KEY_QUIT is pushed once when the window closes. After the main
    loop consumes it, check_exit() sets quitting but UIFC_XF_QUIT was
    never set, so any subsequent uifc.list() call blocks forever waiting
    for input from the dead window.

    Fix: check_exit() now returns true immediately if quitting is already
    set, and sets UIFC_XF_QUIT alongside quitting so all uifc calls bail
    out instead of blocking.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Mar 18 17:35:46 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8e735467d51fd58dfb4bf28e
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    Fix 9 terminfo bugs and add 5 missing capabilities

    Bugs fixed:
    rmam: \E[7l -> \E[?7l (was resetting wrong mode, not DECAWM)
    rs1: \E[c -> \Ec (was sending DA query, not RIS)
    hts: \E[H -> \EH (was cursor home, not set tab stop)
    smglr: \E?69l -> \E[?69l (missing bracket)
    mgc: \e[69l -> \E[?69l (lowercase escape + wrong mode prefix)
    smglp/smgrp: \E[69h/l -> \E[?69h/l (bare mode 69 doesn't exist)
    ind: \E[S -> \n (SU doesn't move cursor; LF is correct per xterm)
    ri: \E[T -> \EM (SD doesn't move cursor; ESC M is correct per xterm)
    csr: remove duplicate entry

    New capabilities:
    vpa — vertical position absolute (CSI Pn d)
    khome — Home key (\E[H)
    kich1 — Insert key (\E[@)
    u6/u7 — cursor position report format and DSR query

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Apr 25 04:52:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ed82082bbd196b30c4f880dd
    Modified Files:
    src/syncterm/syncterm.c
    Log Message:
    syncterm: runtime-init popup_q_mutex for Win32 portability

    PTHREAD_MUTEX_INITIALIZER isn't a constant expression under xpdev's
    Win32 pthread wrapper, so the static initializer broke the mingw64
    build. Initialize the mutex with pthread_mutex_init() at the top of
    main() before any thread that could post to the popup queue.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)