Comments (3)
Hi!
archive.detectedFormat() returns bit7z::BitFormat::Split which seems to be plausible, however archive.items() holds exactly 1 item entry with not good looking mItemProperties.
This is the expected behavior when the archive format is BitFormat::Split
.
7-zip treats split archives as an archive containing only one item: the whole archive.
In fact, if you extract a multi-volume archive using the Split
format, you should obtain the full archive.
When I use bit7z::BitFormat::SevenZip to open the file, it works fine, items() returns all entries with valid size/checksum etc values.
This is a recent addition to the library: before the release candidate, you had first to extract the split archive to recreate the whole one on the disk, and then you had to extract this latter.
So, there might be something wrong with bit7z::BitFormat::Split detected formats or I may need to use a different approach?
The recent change in the release candidate is also why the detected format is still BitFormat::Split
: before, it was the only format that could handle multi-volume archives (with the exception of RAR ones, which have a different extension though).
However, I'm considering changing the detection behavior since now bit7z can extract multi-volume archives without creating the whole intermediate archive.
...and by the way: shouldn't archive.isMultiVolume() return true in since it return always false. Split RAR files is fine, there it detects it right and isMultiVolume also returns true;
isMultiVolume()
queries the IsVolume
property as reported by 7-zip.
It should return true for Split
and multi-volume RAR
s, as you said.
However, when opening a multi-volume directly using the SevenZip
format, it essentially treats it as a whole 7z archive; this might be the reason for the different result.
I'll need to check if it's possible to make the function return true in this case.
from bit7z.
ah...ok..makes sense, thanks for your support!
from bit7z.
No problem, happy to have helped!
from bit7z.
Related Issues (20)
- [Bug]: Why can't compress an empty directory? HOT 5
- [Bug]:Rar file decompression progress is not accurate HOT 2
- [Feature Request]: provide an overwrite mode when decompressing the file HOT 1
- [Feature Request]: Consider adding compile options to output position independent code by default HOT 1
- Library class undefined
- Failed to open archive HOT 3
- [Bug]: Filename contains Chinese chars ,app will crash!!!
- [Bug]: Link Problem when using BIT7Z_USE_NATIVE_STRING HOT 2
- [Feature Request]: nice api for ArchiveExtractCallback/ISequentialOutStream HOT 2
- [Feature Request]: nice api for using different output names during decompressing HOT 1
- [Feature Request]: Testing single entry or entries in archive HOT 1
- [Bug]: Some mistakes about macros HOT 3
- [Feature Request]: Allow parent cmakelists to specify external path to the lzma-sdk HOT 1
- [Bug]: Could not deduce template argument for 'Input' HOT 3
- [Bug]: HRESULT_FROM_WIN32 in hresultcategory is a function and does not evaluate to a constant expression HOT 6
- [Feature Request]: Allow BitArchiveRead to be movable (not deleted) HOT 2
- [Bug]: Reading binary stream to determine file format code reading data exception HOT 1
- [Bug]: BIT7Z_AUTO_FORMAT is fail HOT 2
- [Bug]: bit7z::BitFormat::Zip extract Exception HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bit7z.