https://gitlab.synchro.net/main/sbbs/-/commit/662b2f6d1a71988779d94f46
Modified Files:
src/smblib/smbfile.c
Log Message:
smb_removefile(): remove only the file's own index record
Removing a file dropped every index record whose name matched the file's, ignoring case, not just its own. In a base holding names that differ only
in case (e.g. a.txt and A.txt), removing either one also dropped the
other's index record, orphaning its header and data: still active in the
base, but no longer findable or listed.
Identify the record by the number in the index record the file was loaded
from. The header carries the same number, but nothing checks the two agree
on read, and a header whose number no longer matched would leave the
file's index record in place, pointing at a header already marked deleted.
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net