summaryrefslogtreecommitdiffstats
path: root/lisiblepng/src/deflate.h
diff options
context:
space:
mode:
authorClement Sibille <clements+git@lisible.xyz>2024-02-27 17:23:33 +0900
committerClement Sibille <clements+git@lisible.xyz>2024-02-27 17:23:33 +0900
commite1e5b4e92bcd460b43ce1b852560751b6525593e (patch)
tree4b8bef35e0621240c6531ee28abb55a42e1a70f4 /lisiblepng/src/deflate.h
parent228854f8672d5015550ab6f6c76e806d099bb4db (diff)
Implement Deflate decompression
This patch adds the decompression code for zlib compressed data streams that are compressed using Deflate based on RFC-1950 and RFC-1951. This implementation lacks support for zlib prefix dictionaries and for non-compressed Deflate blocks as these are less common.
Diffstat (limited to 'lisiblepng/src/deflate.h')
-rw-r--r--lisiblepng/src/deflate.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisiblepng/src/deflate.h b/lisiblepng/src/deflate.h
index e40f816..77100c6 100644
--- a/lisiblepng/src/deflate.h
+++ b/lisiblepng/src/deflate.h
@@ -5,7 +5,11 @@
#include <stdint.h>
#include <stdlib.h>
-bool zlib_decompress(const uint8_t *compressed_data_buffer,
- const size_t compressed_data_length);
+/// Decompresses zlib compressed data as defined by RFC 1950
+///
+/// @return A pointer to the decompressed data, the caller is responsible to
+/// deallocate it using free(). In case of error, NULL is returned.
+char *zlib_decompress(const uint8_t *compressed_data_buffer,
+ const size_t compressed_data_length);
#endif // LISIBLE_PNG_DEFLATE_H
Go back to lisible.xyz