Subj : docs/v322_new.md src/sbbs3/js_bbs.cpp qwk.cpp To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Wed Sep 30 2026 19:08:47 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 --- SBBSecho 3.38-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .