zstdlib 0.9.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +13 -0
- data/ext/zstdlib_c/extconf.rb +3 -3
- data/ext/zstdlib_c/ruby/zlib-3.2/zstdlib.c +5090 -0
- data/ext/zstdlib_c/zlib-1.2.12/crc32.c +1116 -0
- data/ext/zstdlib_c/zlib-1.2.12/crc32.h +9446 -0
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/deflate.c +78 -30
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/deflate.h +12 -15
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/gzguts.h +3 -2
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/gzlib.c +5 -3
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/gzread.c +5 -7
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/gzwrite.c +25 -13
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/infback.c +2 -1
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inffast.c +14 -14
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inflate.c +39 -8
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inflate.h +3 -2
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inftrees.c +3 -3
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/trees.c +27 -48
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/zlib.h +123 -100
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/zutil.c +2 -2
- data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/zutil.h +12 -9
- data/ext/zstdlib_c/zstd-1.5.5/lib/common/allocations.h +55 -0
- data/ext/zstdlib_c/zstd-1.5.5/lib/common/bits.h +200 -0
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/bitstream.h +19 -60
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/compiler.h +26 -3
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/cpu.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/debug.c +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/debug.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/entropy_common.c +12 -40
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/error_private.c +9 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/error_private.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/fse.h +5 -83
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/fse_decompress.c +7 -99
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/huf.h +65 -156
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/mem.h +39 -46
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/pool.c +26 -10
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/pool.h +7 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/portability_macros.h +22 -3
- data/ext/zstdlib_c/zstd-1.5.5/lib/common/threading.c +176 -0
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/threading.h +5 -10
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/xxhash.c +2 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/xxhash.h +8 -8
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/zstd_common.c +1 -36
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/zstd_deps.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/zstd_internal.h +17 -118
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/common/zstd_trace.h +3 -3
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/clevels.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/fse_compress.c +7 -124
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/hist.c +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/hist.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/huf_compress.c +234 -169
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress.c +1243 -538
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_internal.h +225 -151
- data/ext/zstdlib_c/zstd-1.5.5/lib/compress/zstd_compress_literals.c +235 -0
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_literals.h +16 -8
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_sequences.c +3 -3
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_sequences.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_superblock.c +25 -21
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_compress_superblock.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_cwksp.h +128 -62
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_double_fast.c +95 -33
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_double_fast.h +3 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_fast.c +433 -148
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_fast.h +3 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_lazy.c +398 -345
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_lazy.h +4 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_ldm.c +5 -5
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_ldm.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_ldm_geartab.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_opt.c +106 -80
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstd_opt.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstdmt_compress.c +17 -9
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/compress/zstdmt_compress.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/huf_decompress.c +434 -441
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/huf_decompress_amd64.S +30 -39
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_ddict.c +4 -4
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_ddict.h +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_decompress.c +205 -80
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_decompress_block.c +201 -81
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_decompress_block.h +6 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/decompress/zstd_decompress_internal.h +4 -2
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/zdict.h +53 -31
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/zstd.h +580 -135
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/lib/zstd_errors.h +27 -8
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzclose.c +1 -1
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzcompatibility.h +8 -8
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzguts.h +10 -10
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzlib.c +3 -3
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzread.c +10 -10
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/gzwrite.c +5 -5
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/zstd_zlibwrapper.c +46 -44
- data/ext/zstdlib_c/{zstd-1.5.2 → zstd-1.5.5}/zlibWrapper/zstd_zlibwrapper.h +4 -1
- metadata +103 -100
- data/ext/zstdlib_c/zlib-1.2.11/crc32.c +0 -442
- data/ext/zstdlib_c/zlib-1.2.11/crc32.h +0 -441
- data/ext/zstdlib_c/zstd-1.5.2/lib/common/threading.c +0 -122
- data/ext/zstdlib_c/zstd-1.5.2/lib/compress/zstd_compress_literals.c +0 -159
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/adler32.c +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/compress.c +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/gzclose.c +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inffast.h +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inffixed.h +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/inftrees.h +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/trees.h +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/uncompr.c +0 -0
- /data/ext/zstdlib_c/{zlib-1.2.11 → zlib-1.2.12}/zconf.h +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
2
|
-
version 1.2.
|
2
|
+
version 1.2.12, March 11th, 2022
|
3
3
|
|
4
|
-
Copyright (C) 1995-
|
4
|
+
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
|
5
5
|
|
6
6
|
This software is provided 'as-is', without any express or implied
|
7
7
|
warranty. In no event will the authors be held liable for any damages
|
@@ -37,11 +37,11 @@
|
|
37
37
|
extern "C" {
|
38
38
|
#endif
|
39
39
|
|
40
|
-
#define ZLIB_VERSION "1.2.
|
41
|
-
#define ZLIB_VERNUM
|
40
|
+
#define ZLIB_VERSION "1.2.12"
|
41
|
+
#define ZLIB_VERNUM 0x12c0
|
42
42
|
#define ZLIB_VER_MAJOR 1
|
43
43
|
#define ZLIB_VER_MINOR 2
|
44
|
-
#define ZLIB_VER_REVISION
|
44
|
+
#define ZLIB_VER_REVISION 12
|
45
45
|
#define ZLIB_VER_SUBREVISION 0
|
46
46
|
|
47
47
|
/*
|
@@ -543,8 +543,7 @@ ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
|
543
543
|
int strategy));
|
544
544
|
|
545
545
|
This is another version of deflateInit with more compression options. The
|
546
|
-
fields
|
547
|
-
caller.
|
546
|
+
fields zalloc, zfree and opaque must be initialized before by the caller.
|
548
547
|
|
549
548
|
The method parameter is the compression method. It must be Z_DEFLATED in
|
550
549
|
this version of the library.
|
@@ -712,11 +711,12 @@ ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
|
|
712
711
|
used to switch between compression and straight copy of the input data, or
|
713
712
|
to switch to a different kind of input data requiring a different strategy.
|
714
713
|
If the compression approach (which is a function of the level) or the
|
715
|
-
strategy is changed, and if
|
716
|
-
|
717
|
-
level and strategy using deflate(strm, Z_BLOCK).
|
718
|
-
for the compression levels 0, 1..3, and 4..9
|
719
|
-
and strategy will take effect at the next call
|
714
|
+
strategy is changed, and if there have been any deflate() calls since the
|
715
|
+
state was initialized or reset, then the input available so far is
|
716
|
+
compressed with the old level and strategy using deflate(strm, Z_BLOCK).
|
717
|
+
There are three approaches for the compression levels 0, 1..3, and 4..9
|
718
|
+
respectively. The new level and strategy will take effect at the next call
|
719
|
+
of deflate().
|
720
720
|
|
721
721
|
If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
|
722
722
|
not have enough output space to complete, then the parameter change will not
|
@@ -865,9 +865,11 @@ ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
|
|
865
865
|
detection, or add 16 to decode only the gzip format (the zlib format will
|
866
866
|
return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
|
867
867
|
CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see
|
868
|
-
below), inflate() will not automatically decode concatenated gzip
|
869
|
-
inflate() will return Z_STREAM_END at the end of the gzip
|
870
|
-
would need to be reset to continue decoding a subsequent gzip
|
868
|
+
below), inflate() will *not* automatically decode concatenated gzip members.
|
869
|
+
inflate() will return Z_STREAM_END at the end of the gzip member. The state
|
870
|
+
would need to be reset to continue decoding a subsequent gzip member. This
|
871
|
+
*must* be done if there is more data after a gzip member, in order for the
|
872
|
+
decompression to be compliant with the gzip standard (RFC 1952).
|
871
873
|
|
872
874
|
inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
|
873
875
|
memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
|
@@ -1302,14 +1304,14 @@ typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
|
|
1302
1304
|
/*
|
1303
1305
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
|
1304
1306
|
|
1305
|
-
|
1306
|
-
in fopen ("rb" or "wb")
|
1307
|
-
|
1308
|
-
|
1309
|
-
for
|
1310
|
-
|
1311
|
-
|
1312
|
-
the gzip format.
|
1307
|
+
Open the gzip (.gz) file at path for reading and decompressing, or
|
1308
|
+
compressing and writing. The mode parameter is as in fopen ("rb" or "wb")
|
1309
|
+
but can also include a compression level ("wb9") or a strategy: 'f' for
|
1310
|
+
filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h",
|
1311
|
+
'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression
|
1312
|
+
as in "wb9F". (See the description of deflateInit2 for more information
|
1313
|
+
about the strategy parameter.) 'T' will request transparent writing or
|
1314
|
+
appending with no compression and not using the gzip format.
|
1313
1315
|
|
1314
1316
|
"a" can be used instead of "w" to request that the gzip stream that will
|
1315
1317
|
be written be appended to the file. "+" will result in an error, since
|
@@ -1339,9 +1341,9 @@ ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
|
|
1339
1341
|
|
1340
1342
|
ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
|
1341
1343
|
/*
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1344
|
+
Associate a gzFile with the file descriptor fd. File descriptors are
|
1345
|
+
obtained from calls like open, dup, creat, pipe or fileno (if the file has
|
1346
|
+
been previously opened with fopen). The mode parameter is as in gzopen.
|
1345
1347
|
|
1346
1348
|
The next call of gzclose on the returned gzFile will also close the file
|
1347
1349
|
descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
|
@@ -1362,13 +1364,13 @@ ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
|
|
1362
1364
|
|
1363
1365
|
ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
|
1364
1366
|
/*
|
1365
|
-
Set the internal buffer size used by this library's functions
|
1366
|
-
default buffer size is 8192 bytes. This function must be called
|
1367
|
-
gzopen() or gzdopen(), and before any other calls that read or write
|
1368
|
-
file. The buffer memory allocation is always deferred to the first read
|
1369
|
-
write. Three times that size in buffer space is allocated. A larger
|
1370
|
-
size of, for example, 64K or 128K bytes will noticeably increase the
|
1371
|
-
of decompression (reading).
|
1367
|
+
Set the internal buffer size used by this library's functions for file to
|
1368
|
+
size. The default buffer size is 8192 bytes. This function must be called
|
1369
|
+
after gzopen() or gzdopen(), and before any other calls that read or write
|
1370
|
+
the file. The buffer memory allocation is always deferred to the first read
|
1371
|
+
or write. Three times that size in buffer space is allocated. A larger
|
1372
|
+
buffer size of, for example, 64K or 128K bytes will noticeably increase the
|
1373
|
+
speed of decompression (reading).
|
1372
1374
|
|
1373
1375
|
The new buffer size also affects the maximum length for gzprintf().
|
1374
1376
|
|
@@ -1378,9 +1380,9 @@ ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
|
|
1378
1380
|
|
1379
1381
|
ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
|
1380
1382
|
/*
|
1381
|
-
Dynamically update the compression level
|
1382
|
-
of deflateInit2 for the meaning of these parameters.
|
1383
|
-
data is flushed before the parameter
|
1383
|
+
Dynamically update the compression level and strategy for file. See the
|
1384
|
+
description of deflateInit2 for the meaning of these parameters. Previously
|
1385
|
+
provided data is flushed before applying the parameter changes.
|
1384
1386
|
|
1385
1387
|
gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
|
1386
1388
|
opened for writing, Z_ERRNO if there is an error writing the flushed data,
|
@@ -1389,7 +1391,7 @@ ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
|
|
1389
1391
|
|
1390
1392
|
ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
|
1391
1393
|
/*
|
1392
|
-
|
1394
|
+
Read and decompress up to len uncompressed bytes from file into buf. If
|
1393
1395
|
the input file is not in gzip format, gzread copies the given number of
|
1394
1396
|
bytes into the buffer directly from the file.
|
1395
1397
|
|
@@ -1420,11 +1422,11 @@ ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
|
|
1420
1422
|
ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
|
1421
1423
|
gzFile file));
|
1422
1424
|
/*
|
1423
|
-
Read up to nitems items of size size from file
|
1424
|
-
as gzread() does. This duplicates the interface of
|
1425
|
-
size_t request and return types. If the library
|
1426
|
-
z_size_t is identical to size_t. If not, then z_size_t
|
1427
|
-
integer type that can contain a pointer.
|
1425
|
+
Read and decompress up to nitems items of size size from file into buf,
|
1426
|
+
otherwise operating as gzread() does. This duplicates the interface of
|
1427
|
+
stdio's fread(), with size_t request and return types. If the library
|
1428
|
+
defines size_t, then z_size_t is identical to size_t. If not, then z_size_t
|
1429
|
+
is an unsigned integer type that can contain a pointer.
|
1428
1430
|
|
1429
1431
|
gzfread() returns the number of full items read of size size, or zero if
|
1430
1432
|
the end of the file was reached and a full item could not be read, or if
|
@@ -1443,18 +1445,16 @@ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
|
|
1443
1445
|
file, reseting and retrying on end-of-file, when size is not 1.
|
1444
1446
|
*/
|
1445
1447
|
|
1446
|
-
ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
|
1447
|
-
voidpc buf, unsigned len));
|
1448
|
+
ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
|
1448
1449
|
/*
|
1449
|
-
|
1450
|
-
|
1451
|
-
error.
|
1450
|
+
Compress and write the len uncompressed bytes at buf to file. gzwrite
|
1451
|
+
returns the number of uncompressed bytes written or 0 in case of error.
|
1452
1452
|
*/
|
1453
1453
|
|
1454
1454
|
ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
|
1455
1455
|
z_size_t nitems, gzFile file));
|
1456
1456
|
/*
|
1457
|
-
|
1457
|
+
Compress and write nitems items of size size from buf to file, duplicating
|
1458
1458
|
the interface of stdio's fwrite(), with size_t request and return types. If
|
1459
1459
|
the library defines size_t, then z_size_t is identical to size_t. If not,
|
1460
1460
|
then z_size_t is an unsigned integer type that can contain a pointer.
|
@@ -1467,22 +1467,22 @@ ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
|
|
1467
1467
|
|
1468
1468
|
ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
|
1469
1469
|
/*
|
1470
|
-
|
1471
|
-
control of the format
|
1470
|
+
Convert, format, compress, and write the arguments (...) to file under
|
1471
|
+
control of the string format, as in fprintf. gzprintf returns the number of
|
1472
1472
|
uncompressed bytes actually written, or a negative zlib error code in case
|
1473
1473
|
of error. The number of uncompressed bytes written is limited to 8191, or
|
1474
1474
|
one less than the buffer size given to gzbuffer(). The caller should assure
|
1475
1475
|
that this limit is not exceeded. If it is exceeded, then gzprintf() will
|
1476
1476
|
return an error (0) with nothing written. In this case, there may also be a
|
1477
1477
|
buffer overflow with unpredictable consequences, which is possible only if
|
1478
|
-
zlib was compiled with the insecure functions sprintf() or vsprintf()
|
1478
|
+
zlib was compiled with the insecure functions sprintf() or vsprintf(),
|
1479
1479
|
because the secure snprintf() or vsnprintf() functions were not available.
|
1480
1480
|
This can be determined using zlibCompileFlags().
|
1481
1481
|
*/
|
1482
1482
|
|
1483
1483
|
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
|
1484
1484
|
/*
|
1485
|
-
|
1485
|
+
Compress and write the given null-terminated string s to file, excluding
|
1486
1486
|
the terminating null character.
|
1487
1487
|
|
1488
1488
|
gzputs returns the number of characters written, or -1 in case of error.
|
@@ -1490,11 +1490,12 @@ ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
|
|
1490
1490
|
|
1491
1491
|
ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
|
1492
1492
|
/*
|
1493
|
-
|
1494
|
-
newline character is read and transferred to buf, or an
|
1495
|
-
condition is encountered. If any characters are read or if len
|
1496
|
-
string is terminated with a null character. If no characters
|
1497
|
-
to an end-of-file or len
|
1493
|
+
Read and decompress bytes from file into buf, until len-1 characters are
|
1494
|
+
read, or until a newline character is read and transferred to buf, or an
|
1495
|
+
end-of-file condition is encountered. If any characters are read or if len
|
1496
|
+
is one, the string is terminated with a null character. If no characters
|
1497
|
+
are read due to an end-of-file or len is less than one, then the buffer is
|
1498
|
+
left untouched.
|
1498
1499
|
|
1499
1500
|
gzgets returns buf which is a null-terminated string, or it returns NULL
|
1500
1501
|
for end-of-file or in case of error. If there was an error, the contents at
|
@@ -1503,13 +1504,13 @@ ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
|
|
1503
1504
|
|
1504
1505
|
ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
|
1505
1506
|
/*
|
1506
|
-
|
1507
|
+
Compress and write c, converted to an unsigned char, into file. gzputc
|
1507
1508
|
returns the value that was written, or -1 in case of error.
|
1508
1509
|
*/
|
1509
1510
|
|
1510
1511
|
ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
|
1511
1512
|
/*
|
1512
|
-
|
1513
|
+
Read and decompress one byte from file. gzgetc returns this byte or -1
|
1513
1514
|
in case of end of file or error. This is implemented as a macro for speed.
|
1514
1515
|
As such, it does not do all of the checking the other functions do. I.e.
|
1515
1516
|
it does not check to see if file is NULL, nor whether the structure file
|
@@ -1518,8 +1519,8 @@ ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
|
|
1518
1519
|
|
1519
1520
|
ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
|
1520
1521
|
/*
|
1521
|
-
Push
|
1522
|
-
|
1522
|
+
Push c back onto the stream for file to be read as the first character on
|
1523
|
+
the next read. At least one character of push-back is always allowed.
|
1523
1524
|
gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
|
1524
1525
|
fail if c is -1, and may fail if a character has been pushed but not read
|
1525
1526
|
yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
|
@@ -1530,9 +1531,9 @@ ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
|
|
1530
1531
|
|
1531
1532
|
ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
|
1532
1533
|
/*
|
1533
|
-
|
1534
|
-
|
1535
|
-
|
1534
|
+
Flush all pending output to file. The parameter flush is as in the
|
1535
|
+
deflate() function. The return value is the zlib error number (see function
|
1536
|
+
gzerror below). gzflush is only permitted when writing.
|
1536
1537
|
|
1537
1538
|
If the flush parameter is Z_FINISH, the remaining data is written and the
|
1538
1539
|
gzip stream is completed in the output. If gzwrite() is called again, a new
|
@@ -1547,8 +1548,8 @@ ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
|
|
1547
1548
|
ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
|
1548
1549
|
z_off_t offset, int whence));
|
1549
1550
|
|
1550
|
-
|
1551
|
-
|
1551
|
+
Set the starting position to offset relative to whence for the next gzread
|
1552
|
+
or gzwrite on file. The offset represents a number of bytes in the
|
1552
1553
|
uncompressed data stream. The whence parameter is defined as in lseek(2);
|
1553
1554
|
the value SEEK_END is not supported.
|
1554
1555
|
|
@@ -1565,18 +1566,18 @@ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
|
|
1565
1566
|
|
1566
1567
|
ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
|
1567
1568
|
/*
|
1568
|
-
|
1569
|
+
Rewind file. This function is supported only for reading.
|
1569
1570
|
|
1570
|
-
gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
|
1571
|
+
gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET).
|
1571
1572
|
*/
|
1572
1573
|
|
1573
1574
|
/*
|
1574
1575
|
ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
|
1575
1576
|
|
1576
|
-
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
1577
|
+
Return the starting position for the next gzread or gzwrite on file.
|
1578
|
+
This position represents a number of bytes in the uncompressed data stream,
|
1579
|
+
and is zero when starting, even if appending or reading a gzip stream from
|
1580
|
+
the middle of a file using gzdopen().
|
1580
1581
|
|
1581
1582
|
gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
|
1582
1583
|
*/
|
@@ -1584,22 +1585,22 @@ ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
|
|
1584
1585
|
/*
|
1585
1586
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
|
1586
1587
|
|
1587
|
-
|
1588
|
-
includes the count of bytes that precede the gzip stream, for example
|
1589
|
-
appending or when using gzdopen() for reading. When reading, the
|
1590
|
-
does not include as yet unused buffered input. This information can
|
1591
|
-
for a progress indicator. On error, gzoffset() returns -1.
|
1588
|
+
Return the current compressed (actual) read or write offset of file. This
|
1589
|
+
offset includes the count of bytes that precede the gzip stream, for example
|
1590
|
+
when appending or when using gzdopen() for reading. When reading, the
|
1591
|
+
offset does not include as yet unused buffered input. This information can
|
1592
|
+
be used for a progress indicator. On error, gzoffset() returns -1.
|
1592
1593
|
*/
|
1593
1594
|
|
1594
1595
|
ZEXTERN int ZEXPORT gzeof OF((gzFile file));
|
1595
1596
|
/*
|
1596
|
-
|
1597
|
-
false (0) otherwise. Note that the end-of-file indicator is set
|
1598
|
-
read tried to go past the end of the input, but came up short.
|
1599
|
-
just like feof(), gzeof() may return false even if there is no
|
1600
|
-
read, in the event that the last read request was for the exact
|
1601
|
-
bytes remaining in the input file. This will happen if the input
|
1602
|
-
is an exact multiple of the buffer size.
|
1597
|
+
Return true (1) if the end-of-file indicator for file has been set while
|
1598
|
+
reading, false (0) otherwise. Note that the end-of-file indicator is set
|
1599
|
+
only if the read tried to go past the end of the input, but came up short.
|
1600
|
+
Therefore, just like feof(), gzeof() may return false even if there is no
|
1601
|
+
more data to read, in the event that the last read request was for the exact
|
1602
|
+
number of bytes remaining in the input file. This will happen if the input
|
1603
|
+
file size is an exact multiple of the buffer size.
|
1603
1604
|
|
1604
1605
|
If gzeof() returns true, then the read functions will return no more data,
|
1605
1606
|
unless the end-of-file indicator is reset by gzclearerr() and the input file
|
@@ -1608,7 +1609,7 @@ ZEXTERN int ZEXPORT gzeof OF((gzFile file));
|
|
1608
1609
|
|
1609
1610
|
ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
|
1610
1611
|
/*
|
1611
|
-
|
1612
|
+
Return true (1) if file is being copied directly while reading, or false
|
1612
1613
|
(0) if file is a gzip stream being decompressed.
|
1613
1614
|
|
1614
1615
|
If the input file is empty, gzdirect() will return true, since the input
|
@@ -1629,8 +1630,8 @@ ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
|
|
1629
1630
|
|
1630
1631
|
ZEXTERN int ZEXPORT gzclose OF((gzFile file));
|
1631
1632
|
/*
|
1632
|
-
|
1633
|
-
|
1633
|
+
Flush all pending output for file, if necessary, close file and
|
1634
|
+
deallocate the (de)compression state. Note that once file is closed, you
|
1634
1635
|
cannot call gzerror with file, since its structures have been deallocated.
|
1635
1636
|
gzclose must not be called more than once on the same file, just as free
|
1636
1637
|
must not be called more than once on the same allocation.
|
@@ -1654,10 +1655,10 @@ ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
|
|
1654
1655
|
|
1655
1656
|
ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
1656
1657
|
/*
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1658
|
+
Return the error message for the last error which occurred on file.
|
1659
|
+
errnum is set to zlib error number. If an error occurred in the file system
|
1660
|
+
and not in the compression library, errnum is set to Z_ERRNO and the
|
1661
|
+
application may consult errno to get the exact error code.
|
1661
1662
|
|
1662
1663
|
The application must not modify the returned string. Future calls to
|
1663
1664
|
this function may invalidate the previously returned string. If file is
|
@@ -1670,7 +1671,7 @@ ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
|
|
1670
1671
|
|
1671
1672
|
ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
1672
1673
|
/*
|
1673
|
-
|
1674
|
+
Clear the error and end-of-file flags for file. This is analogous to the
|
1674
1675
|
clearerr() function in stdio. This is useful for continuing to read a gzip
|
1675
1676
|
file that is being written concurrently.
|
1676
1677
|
*/
|
@@ -1688,8 +1689,9 @@ ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
|
|
1688
1689
|
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
|
1689
1690
|
/*
|
1690
1691
|
Update a running Adler-32 checksum with the bytes buf[0..len-1] and
|
1691
|
-
return the updated checksum.
|
1692
|
-
|
1692
|
+
return the updated checksum. An Adler-32 value is in the range of a 32-bit
|
1693
|
+
unsigned integer. If buf is Z_NULL, this function returns the required
|
1694
|
+
initial value for the checksum.
|
1693
1695
|
|
1694
1696
|
An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
|
1695
1697
|
much faster.
|
@@ -1722,12 +1724,13 @@ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
|
|
1722
1724
|
negative, the result has no meaning or utility.
|
1723
1725
|
*/
|
1724
1726
|
|
1725
|
-
ZEXTERN uLong ZEXPORT crc32
|
1727
|
+
ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
1726
1728
|
/*
|
1727
1729
|
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
1728
|
-
updated CRC-32.
|
1729
|
-
|
1730
|
-
|
1730
|
+
updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer.
|
1731
|
+
If buf is Z_NULL, this function returns the required initial value for the
|
1732
|
+
crc. Pre- and post-conditioning (one's complement) is performed within this
|
1733
|
+
function so it shouldn't be done by the application.
|
1731
1734
|
|
1732
1735
|
Usage example:
|
1733
1736
|
|
@@ -1739,7 +1742,7 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
|
1739
1742
|
if (crc != original_crc) error();
|
1740
1743
|
*/
|
1741
1744
|
|
1742
|
-
ZEXTERN uLong ZEXPORT crc32_z OF((uLong
|
1745
|
+
ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf,
|
1743
1746
|
z_size_t len));
|
1744
1747
|
/*
|
1745
1748
|
Same as crc32(), but with a size_t length.
|
@@ -1755,6 +1758,20 @@ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|
1755
1758
|
len2.
|
1756
1759
|
*/
|
1757
1760
|
|
1761
|
+
/*
|
1762
|
+
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2));
|
1763
|
+
|
1764
|
+
Return the operator corresponding to length len2, to be used with
|
1765
|
+
crc32_combine_op().
|
1766
|
+
*/
|
1767
|
+
|
1768
|
+
ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op));
|
1769
|
+
/*
|
1770
|
+
Give the same result as crc32_combine(), using op in place of len2. op is
|
1771
|
+
is generated from len2 by crc32_combine_gen(). This will be faster than
|
1772
|
+
crc32_combine() if the generated op is used more than once.
|
1773
|
+
*/
|
1774
|
+
|
1758
1775
|
|
1759
1776
|
/* various hacks, don't look :) */
|
1760
1777
|
|
@@ -1842,6 +1859,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
1842
1859
|
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
|
1843
1860
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
|
1844
1861
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
|
1862
|
+
ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off64_t));
|
1845
1863
|
#endif
|
1846
1864
|
|
1847
1865
|
#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
|
@@ -1852,6 +1870,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
1852
1870
|
# define z_gzoffset z_gzoffset64
|
1853
1871
|
# define z_adler32_combine z_adler32_combine64
|
1854
1872
|
# define z_crc32_combine z_crc32_combine64
|
1873
|
+
# define z_crc32_combine_gen z_crc32_combine_gen64
|
1855
1874
|
# else
|
1856
1875
|
# define gzopen gzopen64
|
1857
1876
|
# define gzseek gzseek64
|
@@ -1859,6 +1878,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
1859
1878
|
# define gzoffset gzoffset64
|
1860
1879
|
# define adler32_combine adler32_combine64
|
1861
1880
|
# define crc32_combine crc32_combine64
|
1881
|
+
# define crc32_combine_gen crc32_combine_gen64
|
1862
1882
|
# endif
|
1863
1883
|
# ifndef Z_LARGE64
|
1864
1884
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
@@ -1867,6 +1887,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
1867
1887
|
ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
|
1868
1888
|
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
|
1869
1889
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
|
1890
|
+
ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
|
1870
1891
|
# endif
|
1871
1892
|
#else
|
1872
1893
|
ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
|
@@ -1875,12 +1896,14 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
1875
1896
|
ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
|
1876
1897
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
1877
1898
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
1899
|
+
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
|
1878
1900
|
#endif
|
1879
1901
|
|
1880
1902
|
#else /* Z_SOLO */
|
1881
1903
|
|
1882
1904
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
1883
1905
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
1906
|
+
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
|
1884
1907
|
|
1885
1908
|
#endif /* !Z_SOLO */
|
1886
1909
|
|
@@ -1893,7 +1916,7 @@ ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
|
|
1893
1916
|
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
|
1894
1917
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
1895
1918
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
1896
|
-
#if
|
1919
|
+
#if defined(_WIN32) && !defined(Z_SOLO)
|
1897
1920
|
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
|
1898
1921
|
const char *mode));
|
1899
1922
|
#endif
|
@@ -136,8 +136,8 @@ const char * ZEXPORT zError(err)
|
|
136
136
|
return ERR_MSG(err);
|
137
137
|
}
|
138
138
|
|
139
|
-
#if defined(_WIN32_WCE)
|
140
|
-
/* The Microsoft C Run-Time Library for Windows CE doesn't have
|
139
|
+
#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800
|
140
|
+
/* The older Microsoft C Run-Time Library for Windows CE doesn't have
|
141
141
|
* errno. We define it as a global variable to simplify porting.
|
142
142
|
* Its value is always 0 and should not be used.
|
143
143
|
*/
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* zutil.h -- internal interface and configuration of the compression library
|
2
|
-
* Copyright (C) 1995-
|
2
|
+
* Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler
|
3
3
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
4
4
|
*/
|
5
5
|
|
@@ -29,10 +29,6 @@
|
|
29
29
|
# include <stdlib.h>
|
30
30
|
#endif
|
31
31
|
|
32
|
-
#ifdef Z_SOLO
|
33
|
-
typedef long ptrdiff_t; /* guess -- will be caught if guess is wrong */
|
34
|
-
#endif
|
35
|
-
|
36
32
|
#ifndef local
|
37
33
|
# define local static
|
38
34
|
#endif
|
@@ -46,6 +42,17 @@ typedef unsigned short ush;
|
|
46
42
|
typedef ush FAR ushf;
|
47
43
|
typedef unsigned long ulg;
|
48
44
|
|
45
|
+
#if !defined(Z_U8) && !defined(Z_SOLO) && defined(STDC)
|
46
|
+
# include <limits.h>
|
47
|
+
# if (ULONG_MAX == 0xffffffffffffffff)
|
48
|
+
# define Z_U8 unsigned long
|
49
|
+
# elif (ULLONG_MAX == 0xffffffffffffffff)
|
50
|
+
# define Z_U8 unsigned long long
|
51
|
+
# elif (UINT_MAX == 0xffffffffffffffff)
|
52
|
+
# define Z_U8 unsigned
|
53
|
+
# endif
|
54
|
+
#endif
|
55
|
+
|
49
56
|
extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
50
57
|
/* (size given to avoid silly warnings with Visual C++) */
|
51
58
|
|
@@ -170,10 +177,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
170
177
|
#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
|
171
178
|
# if defined(_WIN32_WCE)
|
172
179
|
# define fdopen(fd,mode) NULL /* No fdopen() */
|
173
|
-
# ifndef _PTRDIFF_T_DEFINED
|
174
|
-
typedef int ptrdiff_t;
|
175
|
-
# define _PTRDIFF_T_DEFINED
|
176
|
-
# endif
|
177
180
|
# else
|
178
181
|
# define fdopen(fd,type) _fdopen(fd,type)
|
179
182
|
# endif
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
+
* All rights reserved.
|
4
|
+
*
|
5
|
+
* This source code is licensed under both the BSD-style license (found in the
|
6
|
+
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
7
|
+
* in the COPYING file in the root directory of this source tree).
|
8
|
+
* You may select, at your option, one of the above-listed licenses.
|
9
|
+
*/
|
10
|
+
|
11
|
+
/* This file provides custom allocation primitives
|
12
|
+
*/
|
13
|
+
|
14
|
+
#define ZSTD_DEPS_NEED_MALLOC
|
15
|
+
#include "zstd_deps.h" /* ZSTD_malloc, ZSTD_calloc, ZSTD_free, ZSTD_memset */
|
16
|
+
|
17
|
+
#include "mem.h" /* MEM_STATIC */
|
18
|
+
#define ZSTD_STATIC_LINKING_ONLY
|
19
|
+
#include "../zstd.h" /* ZSTD_customMem */
|
20
|
+
|
21
|
+
#ifndef ZSTD_ALLOCATIONS_H
|
22
|
+
#define ZSTD_ALLOCATIONS_H
|
23
|
+
|
24
|
+
/* custom memory allocation functions */
|
25
|
+
|
26
|
+
MEM_STATIC void* ZSTD_customMalloc(size_t size, ZSTD_customMem customMem)
|
27
|
+
{
|
28
|
+
if (customMem.customAlloc)
|
29
|
+
return customMem.customAlloc(customMem.opaque, size);
|
30
|
+
return ZSTD_malloc(size);
|
31
|
+
}
|
32
|
+
|
33
|
+
MEM_STATIC void* ZSTD_customCalloc(size_t size, ZSTD_customMem customMem)
|
34
|
+
{
|
35
|
+
if (customMem.customAlloc) {
|
36
|
+
/* calloc implemented as malloc+memset;
|
37
|
+
* not as efficient as calloc, but next best guess for custom malloc */
|
38
|
+
void* const ptr = customMem.customAlloc(customMem.opaque, size);
|
39
|
+
ZSTD_memset(ptr, 0, size);
|
40
|
+
return ptr;
|
41
|
+
}
|
42
|
+
return ZSTD_calloc(1, size);
|
43
|
+
}
|
44
|
+
|
45
|
+
MEM_STATIC void ZSTD_customFree(void* ptr, ZSTD_customMem customMem)
|
46
|
+
{
|
47
|
+
if (ptr!=NULL) {
|
48
|
+
if (customMem.customFree)
|
49
|
+
customMem.customFree(customMem.opaque, ptr);
|
50
|
+
else
|
51
|
+
ZSTD_free(ptr);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
#endif /* ZSTD_ALLOCATIONS_H */
|