Subj : src/smblib/tests/GNUmakefile smbfiletest.c smbidxtest.csrc/sbbs3/file. To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Tue Sep 29 2026 17:07:32 https://gitlab.synchro.net/main/sbbs/-/commit/1c50da7f2b8fec13c9329826 Added Files: src/smblib/tests/GNUmakefile smbfiletest.c smbidxtest.c Modified Files: src/sbbs3/file.cpp sbbs.h Log Message: Keep a file's auxdata when editing its extended description Editing a file's extended description in the terminal server replaced the record's data through editmsg(), which only knows the message layout. It freed both data fields, wrote just the new description, and left the TEXT_TAIL field in the header: for a record with a description, the tail then pointed past the new text into free space or another record's data; for a record with only auxdata, the tail was overwritten and the auxdata (including the stored archive content listing) was lost. editfileinfo() now calls a new editfileextdesc(), which runs the same editor on the description, reads the record's stored auxdata back from disk (the file lister loads records without it), and replaces both fields with smb_updatefile(). The record's index position is re-read first, as smb_updatemsg() does, since other nodes may have changed the index since the listing was loaded. smb_getmsgtxt() appends a CRLF to each data field's text, so that one CRLF is dropped from the auxdata before it is written back; otherwise every edit would add one. Add src/smblib/tests/, with a GNUmakefile ("make" builds the tests, "make test" runs them), smbfiletest covering both record layouts, and smbidxtest for the index auto-repair in smb_new_msghdr(). Fixes #1269 Co-Authored-By: Claude Opus 5.5 --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .