https://gitlab.synchro.net/main/sbbs/-/commit/d61223fea0ab02b105315d75
Modified Files:
src/conio/cterm.adoc cterm.c src/syncterm/term.c termtest.c
Log Message:
Expand test suite to 145 tests, fix retbuf/callback response path
Tests (99 -> 145):
Add 46 new tests covering ED modes 1/2, EL modes 1/2, SL, SR, CVT,
TSR, CTDA, BCDSR, XTSRGA, DECCKSR, CTSMRR (Ps=1-6), DECRQSS (t,
$|, *|), CTSMS/CTRMS, SGR (dim, blink, noblink, normal intensity,
default fg/bg, bright bg), CT24BC, OSC 10/11 queries, OSC 8
hyperlink readback, DECRPM for modes 31-35/67/80 + mouse modes,
SM/RM for FETM/TTM, APC JXL query, NUL in doorway mode with
doorway encoding verification, and response ordering regression.
cterm.c — retbuf audit:
Convert all response sites from retbuf-gated strcat() to
cterm_respond()/cterm_respond_printf(). Fixes ANSI mode DECRQM
(CSI Ps $ p), CTSMRR Ps=4/5, and other queries that failed when
response_cb was set and retbuf was NULL.
cterm.c — escaped ST for OSC 8 in STS:
OSC 8 terminators inside SOS-framed STS content use ESC : \
instead of ESC \ to avoid premature SOS closure. ESC : is an
unassigned Fp private-use escape (ECMA-35) that parsers silently
drop.
term.c — eliminate dual response path:
APC handler and WRITE_OUTBUF now use conn_send/response_cb
exclusively instead of mixing retbuf writes with callback-based
responses, which caused response ordering bugs.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net