https://gitlab.synchro.net/main/sbbs/-/commit/e97a1efe3645baaa65ae9f5c
Modified Files:
docs/v322_new.md src/sbbs3/js_bbs.cpp qwk.cpp
Log Message:
QWK: restore the resume pointer and clean up after a failed download
Fixes #1261
Fixes #1260
pack_qwk() advances both of a sub-board's pointers for every message it
packs: the new-scan pointer and the on-line reader's resume position. When
the download then failed (aborted transfer, quit at the protocol prompt,
not enough time), qwk_download() put back only the new-scan pointers, so
the next on-line read of that sub-board started at the last packed
message rather than where the user had left off. Save and restore both.
bbs.qwk_download() and bbs.qwk_upload() also depended on setup that only
the QWK section stub does around them: refreshing the user's directory
list (and sub-board list for QWK network nodes), and clearing the node's temporary directory afterwards. qwk_download() removed only the .qwk
file, leaving MESSAGES.DAT, the index files, CONTROL.DAT and the rest in
temp for the remainder of the session. Both methods now do that setup themselves, and the download clears the temp directory when done, so a
custom shell or module can call them from anywhere.
Verified on a scratch terminal server, quitting at the protocol prompt:
before, the resume pointer had advanced from 0 to 1 and seven packet files remained in temp; after, both pointers are back at 0 and temp is empty.
Co-Authored-By: Claude Fable 5.1 <
noreply@anthropic.com>
--- SBBSecho 3.38-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)