https://gitlab.synchro.net/main/sbbs/-/commit/62012e3c4ca4d5e7724e530e
Modified Files:
src/sbbs3/exec.cpp
Log Message:
Always append .js to an extensionless module name
js_execfile() resolved a command containing a path separator by trying the
name as given first and appending .js only when that failed, so the two branches of one function disagreed about what an extensionless name means. Everywhere else it means "<name>.js" unconditionally: exec_bin() appends
.js (and then .bin) without ever trying the bare name, the no-separator
branch here appends it to each directory it searches, and jsexec appends it
to every candidate path. Do the same here.
A module file carrying no extension can no longer be run by path. Nothing
else could run one either - not by bare name, not through exec_bin(), and
not through jsexec since 8f8a8f9249 (defeat-12-living, 2026-08-01).
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net