Section One BBS

Welcome, Guest.


Subject: src/sbbs3/filedat.c filedat.h js_archive.c pack_qwk.cpp pack_rep.cpp s Date: Mon Jan 03 2022 06:10 pm
From: Rob Swindell To: Git commit to main/sbbs/master

https://gitlab.synchro.net/main/sbbs/-/commit/16cfe2d3bad524f7d33fe545
Modified Files:
        src/sbbs3/filedat.c filedat.h js_archive.c pack_qwk.cpp pack_rep.cpp sbb
secho.c un_qwk.cpp un_rep.cpp
Log Message:
Add overwrite argument to extract_file_from_archive and Archive.extract
                                                                       
                                                                       Previousl
y, extracted files were always overwritten (so that is the "default" for Archive
.extract() and mostly what I'm specifying in the C/C++ code by default now), but
 this caused a problem with DIZ extraction: archives that contained multiple DIZ
 files (e.g in sub-directories), the last to be extracted would be used. A maxim
um of 3 DIZs can be extracted, so it would usually be the 3rd DIZ in the archive
 if there were that many.
                         
                         Another solution would be to *only* extract DIZ files f
rom the root of the archive and I should look into that as well, but the always-
overwrite behavior also seemed to be wrong, so that *also* needed fixing (allow 
caller to control behavior).
                            
                            This fixes issue #317, at least for archives where t
he root DIZ exists *before* any nested DIZ files. I'll have to try and create a 
purposeful archive to test the other conditions (where the root DIZ would appear
 *after* the nested DIZ(s)).

---
 ■ SynchronetVertrauen Home of Synchronet [vert/cvs/bbs].synchro.net

Previous Message       Next Message