From 76f36fc4194147984bd007b365fcf49d4bdfd764 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Tue, 26 Jan 2021 22:06:01 +0100 Subject: support multiple deflate blocks. this library is now fully RFC 1950 and RFC 1951 compliant --- README.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 20c9a35..e4b4c45 100644 --- a/README.md +++ b/README.md @@ -87,16 +87,20 @@ checksum in `inflate_zlib`. ## Compliance -The code *almost* complies with RFC 1950 (decompression only), with the -following exceptions. - -* Unless compiled with `-DDEFLATE_CHECKSUM`, zlib-deflate-nostdlib does not - verify the ADLER32 checksum embedded into zlib-compressed data. - -The code *almost* complies with RFC 1951, with the following exceptions. - -* zlib-deflate-nostdlib does not yet support compressed items consisting of - more than one deflate block. I intend to fix this. +`inflate` is fully compliant with RFC 1951 for data with a decompressed size +of up to 65 kB. + +When compiled with `-DDEFLATE_CHECKSUM`, `inflate_zlib` is fully compliant with +RFC 1950 (decompression only) for data with a decompressed size of up to 65 kB. +By default (without `-DDEFLATE_CHECKSUM`), it does not verify the ADLER32 +checksum embedded into zlib-compressed data and is therefore not compliant with +RFC 1950. + +For files larger than 65 kB, you only need to change some size arguments to +`uint32_t`. However, if you are decompressing files of that size, you probably +have more RAM than this library is designed for. In that case, you may be +better off with [udeflate](https://github.com/jlublin/udeflate), +[uzlib](https://github.com/pfalcon/uzlib), or similar. ## Requirements and Performance -- cgit v1.2.3