Subj : src/sbbs3/file.cpp filedat.c filedat.h js_filebase.cpp src/smblib/smbf 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/1700efd673bca1d65a7e6919 Modified Files: src/sbbs3/file.cpp filedat.c filedat.h js_filebase.cpp src/smblib/smbfile.c smblib.h Log Message: File renames: check a new name against every other file, ignoring case Renaming a file checked for a duplicate with smb_findfile(), which returns the first case-insensitive match. For a rename that changes only the case, that match may be the file being renamed: FileBase.update() then refused the rename as a duplicate of itself, while the file-info editor skipped the check for such renames. But a base can already hold names differing only in case (renamed in by the since-fixed file-info editor check, or colliding in the 64-character index name), and there a case-only rename in the editor could give two files an identical name. On a case-sensitive file system the rename could also replace the other file on disk. Add smb_findfile_other(), and a findfile_other() wrapper, which match a name ignoring case against every file but the one being renamed, and use them in both rename paths for any change of name, including case. A case-only rename now succeeds unless another file already has that name. Co-Authored-By: Claude Opus 5.5 --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .