| Crates.io | delharc |
| lib.rs | delharc |
| version | 0.6.1 |
| created_at | 2020-07-05 17:23:23.724346+00 |
| updated_at | 2024-05-01 19:19:08.171423+00 |
| description | A library for parsing and extracting files from LHA/LZH archives. |
| homepage | https://github.com/royaltm/rust-delharc |
| repository | https://github.com/royaltm/rust-delharc |
| max_upload_size | |
| id | 261671 |
| size | 189,059 |
A Rust library for parsing and extracting content of LHA/LZH archives.
This library provides ways to parse the content of LHA headers and allows to read files, compressed with some of the methods used by the archive format.
Files using this format usually have .lzh or .lha extensions. Some formats, such as the retro chip-tune YM format, use LHA as its default packaging method. The entire content of the Aminet has also been packaged using this format.
This library does not provide high level methods for creating files or directories from the extracted archives.
Add to Cargo.toml:
[dependencies]
delharc = "0.6"
For more information, please see the Documentation.
Since version 0.6 delharc can be used without the std library. In this instance the alloc
external crate will be required instead.
[dependencies.delharc]
version = "0.6"
default-features = false
features = ["lh1", "lz"] # select desired features
delharc API was originally built around the std::io types such as io::Error and io::Read.
This design choice made it impossible to adapt delharc to be used in the absence of the std::io
library without some significant implementation changes.
To work around this problem the stub_io module and error module was added. stub_io
contains an I/O proxy trait Read and a Take type which are now used as interfaces for generic
types throughout the library. Instead of relying on io::Error for fallible results delharc
defines its own error::LhaError which encapsulates an I/O error type.
With std library enabled, error::LhaError converts to io::Error via the From trait and
stub_io::Read is implemented for all types that implement io::Read.
For std users the difference from previous versions is that methods previously returning
io::Result now return Result<_, LhaError<io::Error>>. This might break cases when result
Err(error) from calls to delharc methods is returned as is without the ? or From conversion.
Now, when using default-features = false the std feature needs to be added back along with other
compression method features.
delharc requires Rustc version 1.63 or greater due to the stabilized array::from_fn function in this version.
This project is licensed under either of
at your option.