https://gitlab.synchro.net/main/sbbs/-/commit/b743852183205e720d9cc8f1
Modified Files:
src/syncterm/Wren.adoc src/syncterm/scripts/syncterm.wren wrentest.wren src/syncterm/wren_bind.c
Log Message:
SyncTERM: File.readLine + File.writeLine
readLine() reads from the current offset to the first LF (0x0A) or
EOF and returns the bytes with any trailing LF removed. Offset
advances past the LF on a hit, or to EOF if none found. Returns
null when already at EOF so a typical loop terminates cleanly; a
blank line is the empty string, distinct from EOF.
writeLine(s) writes the bytes of s at the current offset, then
appends an LF. Offset advances past the LF. No special-casing if
s already ends in LF Ä writeBytes() is the way to opt out of the
trailing-LF behavior.
Implementation chunks reads through a 512-byte buffer with
geometric growth on long lines, so a 100GB file with short lines
doesn't allocate the whole remainder up front.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net