@appzung/react-native-code-push 8.3.2 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CodePush.podspec +3 -3
- package/README.md +3 -1
- package/android/app/build.gradle +2 -0
- package/android/app/src/main/AndroidManifest.xml +1 -2
- package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateUtils.java +15 -8
- package/android/build.gradle +3 -0
- package/ios/CodePush/CodePush.m +2 -1
- package/ios/CodePush/SSZipArchive/Info.plist +26 -0
- package/ios/CodePush/SSZipArchive/README.md +1 -1
- package/ios/CodePush/SSZipArchive/SSZipArchive.h +129 -27
- package/ios/CodePush/SSZipArchive/SSZipArchive.m +1119 -314
- package/ios/CodePush/SSZipArchive/SSZipCommon.h +71 -0
- package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +23 -0
- package/ios/CodePush/SSZipArchive/include/ZipArchive.h +25 -0
- package/ios/CodePush/SSZipArchive/minizip/LICENSE +17 -0
- package/ios/CodePush/SSZipArchive/minizip/mz.h +273 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +1306 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +346 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +187 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +65 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +526 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_os.c +348 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_os.h +176 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +350 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +556 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +132 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +383 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +42 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +269 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +48 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +40 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +203 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +334 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +46 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +429 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +43 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +360 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +46 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +389 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +43 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +2782 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +262 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +1942 -0
- package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +285 -0
- package/ios/CodePush.xcodeproj/project.pbxproj +245 -130
- package/ios/PrivacyInfo.xcprivacy +31 -0
- package/package.json +2 -2
- package/ios/CodePush/SSZipArchive/Common.h +0 -81
- package/ios/CodePush/SSZipArchive/aes/aes.h +0 -198
- package/ios/CodePush/SSZipArchive/aes/aes_via_ace.h +0 -541
- package/ios/CodePush/SSZipArchive/aes/aescrypt.c +0 -294
- package/ios/CodePush/SSZipArchive/aes/aeskey.c +0 -548
- package/ios/CodePush/SSZipArchive/aes/aesopt.h +0 -739
- package/ios/CodePush/SSZipArchive/aes/aestab.c +0 -391
- package/ios/CodePush/SSZipArchive/aes/aestab.h +0 -173
- package/ios/CodePush/SSZipArchive/aes/brg_endian.h +0 -126
- package/ios/CodePush/SSZipArchive/aes/brg_types.h +0 -219
- package/ios/CodePush/SSZipArchive/aes/entropy.c +0 -54
- package/ios/CodePush/SSZipArchive/aes/entropy.h +0 -16
- package/ios/CodePush/SSZipArchive/aes/fileenc.c +0 -144
- package/ios/CodePush/SSZipArchive/aes/fileenc.h +0 -121
- package/ios/CodePush/SSZipArchive/aes/hmac.c +0 -145
- package/ios/CodePush/SSZipArchive/aes/hmac.h +0 -103
- package/ios/CodePush/SSZipArchive/aes/prng.c +0 -155
- package/ios/CodePush/SSZipArchive/aes/prng.h +0 -82
- package/ios/CodePush/SSZipArchive/aes/pwd2key.c +0 -103
- package/ios/CodePush/SSZipArchive/aes/pwd2key.h +0 -57
- package/ios/CodePush/SSZipArchive/aes/sha1.c +0 -258
- package/ios/CodePush/SSZipArchive/aes/sha1.h +0 -73
- package/ios/CodePush/SSZipArchive/minizip/crypt.h +0 -130
- package/ios/CodePush/SSZipArchive/minizip/ioapi.c +0 -369
- package/ios/CodePush/SSZipArchive/minizip/ioapi.h +0 -175
- package/ios/CodePush/SSZipArchive/minizip/mztools.c +0 -284
- package/ios/CodePush/SSZipArchive/minizip/mztools.h +0 -31
- package/ios/CodePush/SSZipArchive/minizip/unzip.c +0 -1839
- package/ios/CodePush/SSZipArchive/minizip/unzip.h +0 -248
- package/ios/CodePush/SSZipArchive/minizip/zip.c +0 -1910
- package/ios/CodePush/SSZipArchive/minizip/zip.h +0 -202
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/* mz_strm_zlib.c -- Stream for zlib inflate/deflate
|
|
2
|
+
part of the minizip-ng project
|
|
3
|
+
|
|
4
|
+
Copyright (C) Nathan Moinvaziri
|
|
5
|
+
https://github.com/zlib-ng/minizip-ng
|
|
6
|
+
|
|
7
|
+
This program is distributed under the terms of the same license as zlib.
|
|
8
|
+
See the accompanying LICENSE file for the full text of the license.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#include "mz.h"
|
|
12
|
+
#include "mz_strm.h"
|
|
13
|
+
#include "mz_strm_zlib.h"
|
|
14
|
+
|
|
15
|
+
#if !defined(ZLIB_COMPAT)
|
|
16
|
+
# include "zlib-ng.h"
|
|
17
|
+
#else
|
|
18
|
+
# include "zlib.h"
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
/***************************************************************************/
|
|
22
|
+
|
|
23
|
+
#if !defined(ZLIB_COMPAT)
|
|
24
|
+
# define ZLIB_PREFIX(x) zng_ ## x
|
|
25
|
+
typedef zng_stream zlib_stream;
|
|
26
|
+
#else
|
|
27
|
+
# define ZLIB_PREFIX(x) x
|
|
28
|
+
typedef z_stream zlib_stream;
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#if !defined(DEF_MEM_LEVEL)
|
|
32
|
+
# if MAX_MEM_LEVEL >= 8
|
|
33
|
+
# define DEF_MEM_LEVEL 8
|
|
34
|
+
# else
|
|
35
|
+
# define DEF_MEM_LEVEL MAX_MEM_LEVEL
|
|
36
|
+
# endif
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
/***************************************************************************/
|
|
40
|
+
|
|
41
|
+
static mz_stream_vtbl mz_stream_zlib_vtbl = {
|
|
42
|
+
mz_stream_zlib_open,
|
|
43
|
+
mz_stream_zlib_is_open,
|
|
44
|
+
mz_stream_zlib_read,
|
|
45
|
+
mz_stream_zlib_write,
|
|
46
|
+
mz_stream_zlib_tell,
|
|
47
|
+
mz_stream_zlib_seek,
|
|
48
|
+
mz_stream_zlib_close,
|
|
49
|
+
mz_stream_zlib_error,
|
|
50
|
+
mz_stream_zlib_create,
|
|
51
|
+
mz_stream_zlib_delete,
|
|
52
|
+
mz_stream_zlib_get_prop_int64,
|
|
53
|
+
mz_stream_zlib_set_prop_int64
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/***************************************************************************/
|
|
57
|
+
|
|
58
|
+
typedef struct mz_stream_zlib_s {
|
|
59
|
+
mz_stream stream;
|
|
60
|
+
zlib_stream zstream;
|
|
61
|
+
uint8_t buffer[INT16_MAX];
|
|
62
|
+
int32_t buffer_len;
|
|
63
|
+
int64_t total_in;
|
|
64
|
+
int64_t total_out;
|
|
65
|
+
int64_t max_total_in;
|
|
66
|
+
int8_t initialized;
|
|
67
|
+
int16_t level;
|
|
68
|
+
int32_t window_bits;
|
|
69
|
+
int32_t mode;
|
|
70
|
+
int32_t error;
|
|
71
|
+
} mz_stream_zlib;
|
|
72
|
+
|
|
73
|
+
/***************************************************************************/
|
|
74
|
+
|
|
75
|
+
int32_t mz_stream_zlib_open(void *stream, const char *path, int32_t mode) {
|
|
76
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
77
|
+
|
|
78
|
+
MZ_UNUSED(path);
|
|
79
|
+
|
|
80
|
+
zlib->zstream.data_type = Z_BINARY;
|
|
81
|
+
zlib->zstream.zalloc = Z_NULL;
|
|
82
|
+
zlib->zstream.zfree = Z_NULL;
|
|
83
|
+
zlib->zstream.opaque = Z_NULL;
|
|
84
|
+
zlib->zstream.total_in = 0;
|
|
85
|
+
zlib->zstream.total_out = 0;
|
|
86
|
+
|
|
87
|
+
zlib->total_in = 0;
|
|
88
|
+
zlib->total_out = 0;
|
|
89
|
+
|
|
90
|
+
if (mode & MZ_OPEN_MODE_WRITE) {
|
|
91
|
+
#ifdef MZ_ZIP_NO_COMPRESSION
|
|
92
|
+
return MZ_SUPPORT_ERROR;
|
|
93
|
+
#else
|
|
94
|
+
zlib->zstream.next_out = zlib->buffer;
|
|
95
|
+
zlib->zstream.avail_out = sizeof(zlib->buffer);
|
|
96
|
+
|
|
97
|
+
zlib->error = ZLIB_PREFIX(deflateInit2)(&zlib->zstream, (int8_t)zlib->level, Z_DEFLATED,
|
|
98
|
+
zlib->window_bits, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
|
|
99
|
+
#endif
|
|
100
|
+
} else if (mode & MZ_OPEN_MODE_READ) {
|
|
101
|
+
#ifdef MZ_ZIP_NO_DECOMPRESSION
|
|
102
|
+
return MZ_SUPPORT_ERROR;
|
|
103
|
+
#else
|
|
104
|
+
zlib->zstream.next_in = zlib->buffer;
|
|
105
|
+
zlib->zstream.avail_in = 0;
|
|
106
|
+
|
|
107
|
+
zlib->error = ZLIB_PREFIX(inflateInit2)(&zlib->zstream, zlib->window_bits);
|
|
108
|
+
#endif
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (zlib->error != Z_OK)
|
|
112
|
+
return MZ_OPEN_ERROR;
|
|
113
|
+
|
|
114
|
+
zlib->initialized = 1;
|
|
115
|
+
zlib->mode = mode;
|
|
116
|
+
return MZ_OK;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
int32_t mz_stream_zlib_is_open(void *stream) {
|
|
120
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
121
|
+
if (zlib->initialized != 1)
|
|
122
|
+
return MZ_OPEN_ERROR;
|
|
123
|
+
return MZ_OK;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
int32_t mz_stream_zlib_read(void *stream, void *buf, int32_t size) {
|
|
127
|
+
#ifdef MZ_ZIP_NO_DECOMPRESSION
|
|
128
|
+
MZ_UNUSED(stream);
|
|
129
|
+
MZ_UNUSED(buf);
|
|
130
|
+
MZ_UNUSED(size);
|
|
131
|
+
return MZ_SUPPORT_ERROR;
|
|
132
|
+
#else
|
|
133
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
134
|
+
uint64_t total_in_before = 0;
|
|
135
|
+
uint64_t total_in_after = 0;
|
|
136
|
+
uint64_t total_out_before = 0;
|
|
137
|
+
uint64_t total_out_after = 0;
|
|
138
|
+
uint32_t total_in = 0;
|
|
139
|
+
uint32_t total_out = 0;
|
|
140
|
+
uint32_t in_bytes = 0;
|
|
141
|
+
uint32_t out_bytes = 0;
|
|
142
|
+
int32_t bytes_to_read = sizeof(zlib->buffer);
|
|
143
|
+
int32_t read = 0;
|
|
144
|
+
int32_t err = Z_OK;
|
|
145
|
+
|
|
146
|
+
zlib->zstream.next_out = (Bytef *)buf;
|
|
147
|
+
zlib->zstream.avail_out = (uInt)size;
|
|
148
|
+
|
|
149
|
+
do {
|
|
150
|
+
if (zlib->zstream.avail_in == 0) {
|
|
151
|
+
if (zlib->max_total_in > 0) {
|
|
152
|
+
if ((int64_t)bytes_to_read > (zlib->max_total_in - zlib->total_in))
|
|
153
|
+
bytes_to_read = (int32_t)(zlib->max_total_in - zlib->total_in);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
read = mz_stream_read(zlib->stream.base, zlib->buffer, bytes_to_read);
|
|
157
|
+
|
|
158
|
+
if (read < 0)
|
|
159
|
+
return read;
|
|
160
|
+
|
|
161
|
+
zlib->zstream.next_in = zlib->buffer;
|
|
162
|
+
zlib->zstream.avail_in = read;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
total_in_before = zlib->zstream.avail_in;
|
|
166
|
+
total_out_before = zlib->zstream.total_out;
|
|
167
|
+
|
|
168
|
+
err = ZLIB_PREFIX(inflate)(&zlib->zstream, Z_SYNC_FLUSH);
|
|
169
|
+
if ((err >= Z_OK) && (zlib->zstream.msg)) {
|
|
170
|
+
zlib->error = Z_DATA_ERROR;
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
total_in_after = zlib->zstream.avail_in;
|
|
175
|
+
total_out_after = zlib->zstream.total_out;
|
|
176
|
+
|
|
177
|
+
in_bytes = (uint32_t)(total_in_before - total_in_after);
|
|
178
|
+
out_bytes = (uint32_t)(total_out_after - total_out_before);
|
|
179
|
+
|
|
180
|
+
total_in += in_bytes;
|
|
181
|
+
total_out += out_bytes;
|
|
182
|
+
|
|
183
|
+
zlib->total_in += in_bytes;
|
|
184
|
+
zlib->total_out += out_bytes;
|
|
185
|
+
|
|
186
|
+
if (err == Z_STREAM_END)
|
|
187
|
+
break;
|
|
188
|
+
if (err != Z_OK) {
|
|
189
|
+
zlib->error = err;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
} while (zlib->zstream.avail_out > 0);
|
|
193
|
+
|
|
194
|
+
if (zlib->error != 0) {
|
|
195
|
+
/* Zlib errors are compatible with MZ */
|
|
196
|
+
return zlib->error;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return total_out;
|
|
200
|
+
#endif
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
#ifndef MZ_ZIP_NO_COMPRESSION
|
|
204
|
+
static int32_t mz_stream_zlib_flush(void *stream) {
|
|
205
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
206
|
+
if (mz_stream_write(zlib->stream.base, zlib->buffer, zlib->buffer_len) != zlib->buffer_len)
|
|
207
|
+
return MZ_WRITE_ERROR;
|
|
208
|
+
return MZ_OK;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
static int32_t mz_stream_zlib_deflate(void *stream, int flush) {
|
|
212
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
213
|
+
uint64_t total_out_before = 0;
|
|
214
|
+
uint64_t total_out_after = 0;
|
|
215
|
+
int32_t out_bytes = 0;
|
|
216
|
+
int32_t err = Z_OK;
|
|
217
|
+
|
|
218
|
+
do {
|
|
219
|
+
if (zlib->zstream.avail_out == 0) {
|
|
220
|
+
err = mz_stream_zlib_flush(zlib);
|
|
221
|
+
if (err != MZ_OK)
|
|
222
|
+
return err;
|
|
223
|
+
|
|
224
|
+
zlib->zstream.avail_out = sizeof(zlib->buffer);
|
|
225
|
+
zlib->zstream.next_out = zlib->buffer;
|
|
226
|
+
|
|
227
|
+
zlib->buffer_len = 0;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
total_out_before = zlib->zstream.total_out;
|
|
231
|
+
err = ZLIB_PREFIX(deflate)(&zlib->zstream, flush);
|
|
232
|
+
total_out_after = zlib->zstream.total_out;
|
|
233
|
+
|
|
234
|
+
out_bytes = (uint32_t)(total_out_after - total_out_before);
|
|
235
|
+
|
|
236
|
+
zlib->buffer_len += out_bytes;
|
|
237
|
+
zlib->total_out += out_bytes;
|
|
238
|
+
|
|
239
|
+
if (err == Z_STREAM_END)
|
|
240
|
+
break;
|
|
241
|
+
if (err != Z_OK) {
|
|
242
|
+
zlib->error = err;
|
|
243
|
+
return MZ_DATA_ERROR;
|
|
244
|
+
}
|
|
245
|
+
} while ((zlib->zstream.avail_in > 0) || (flush == Z_FINISH && err == Z_OK));
|
|
246
|
+
|
|
247
|
+
return MZ_OK;
|
|
248
|
+
}
|
|
249
|
+
#endif
|
|
250
|
+
|
|
251
|
+
int32_t mz_stream_zlib_write(void *stream, const void *buf, int32_t size) {
|
|
252
|
+
#ifdef MZ_ZIP_NO_COMPRESSION
|
|
253
|
+
MZ_UNUSED(stream);
|
|
254
|
+
MZ_UNUSED(buf);
|
|
255
|
+
MZ_UNUSED(size);
|
|
256
|
+
return MZ_SUPPORT_ERROR;
|
|
257
|
+
#else
|
|
258
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
259
|
+
int32_t err = MZ_OK;
|
|
260
|
+
|
|
261
|
+
zlib->zstream.next_in = (Bytef *)(intptr_t)buf;
|
|
262
|
+
zlib->zstream.avail_in = (uInt)size;
|
|
263
|
+
|
|
264
|
+
err = mz_stream_zlib_deflate(stream, Z_NO_FLUSH);
|
|
265
|
+
if (err != MZ_OK) {
|
|
266
|
+
return err;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
zlib->total_in += size;
|
|
270
|
+
return size;
|
|
271
|
+
#endif
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
int64_t mz_stream_zlib_tell(void *stream) {
|
|
275
|
+
MZ_UNUSED(stream);
|
|
276
|
+
|
|
277
|
+
return MZ_TELL_ERROR;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
int32_t mz_stream_zlib_seek(void *stream, int64_t offset, int32_t origin) {
|
|
281
|
+
MZ_UNUSED(stream);
|
|
282
|
+
MZ_UNUSED(offset);
|
|
283
|
+
MZ_UNUSED(origin);
|
|
284
|
+
|
|
285
|
+
return MZ_SEEK_ERROR;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
int32_t mz_stream_zlib_close(void *stream) {
|
|
289
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
290
|
+
|
|
291
|
+
if (zlib->mode & MZ_OPEN_MODE_WRITE) {
|
|
292
|
+
#ifdef MZ_ZIP_NO_COMPRESSION
|
|
293
|
+
return MZ_SUPPORT_ERROR;
|
|
294
|
+
#else
|
|
295
|
+
mz_stream_zlib_deflate(stream, Z_FINISH);
|
|
296
|
+
mz_stream_zlib_flush(stream);
|
|
297
|
+
|
|
298
|
+
ZLIB_PREFIX(deflateEnd)(&zlib->zstream);
|
|
299
|
+
#endif
|
|
300
|
+
} else if (zlib->mode & MZ_OPEN_MODE_READ) {
|
|
301
|
+
#ifdef MZ_ZIP_NO_DECOMPRESSION
|
|
302
|
+
return MZ_SUPPORT_ERROR;
|
|
303
|
+
#else
|
|
304
|
+
ZLIB_PREFIX(inflateEnd)(&zlib->zstream);
|
|
305
|
+
#endif
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
zlib->initialized = 0;
|
|
309
|
+
|
|
310
|
+
if (zlib->error != Z_OK)
|
|
311
|
+
return MZ_CLOSE_ERROR;
|
|
312
|
+
return MZ_OK;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
int32_t mz_stream_zlib_error(void *stream) {
|
|
316
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
317
|
+
return zlib->error;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
int32_t mz_stream_zlib_get_prop_int64(void *stream, int32_t prop, int64_t *value) {
|
|
321
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
322
|
+
switch (prop) {
|
|
323
|
+
case MZ_STREAM_PROP_TOTAL_IN:
|
|
324
|
+
*value = zlib->total_in;
|
|
325
|
+
break;
|
|
326
|
+
case MZ_STREAM_PROP_TOTAL_IN_MAX:
|
|
327
|
+
*value = zlib->max_total_in;
|
|
328
|
+
break;
|
|
329
|
+
case MZ_STREAM_PROP_TOTAL_OUT:
|
|
330
|
+
*value = zlib->total_out;
|
|
331
|
+
break;
|
|
332
|
+
case MZ_STREAM_PROP_HEADER_SIZE:
|
|
333
|
+
*value = 0;
|
|
334
|
+
break;
|
|
335
|
+
case MZ_STREAM_PROP_COMPRESS_WINDOW:
|
|
336
|
+
*value = zlib->window_bits;
|
|
337
|
+
break;
|
|
338
|
+
default:
|
|
339
|
+
return MZ_EXIST_ERROR;
|
|
340
|
+
}
|
|
341
|
+
return MZ_OK;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
int32_t mz_stream_zlib_set_prop_int64(void *stream, int32_t prop, int64_t value) {
|
|
345
|
+
mz_stream_zlib *zlib = (mz_stream_zlib *)stream;
|
|
346
|
+
switch (prop) {
|
|
347
|
+
case MZ_STREAM_PROP_COMPRESS_LEVEL:
|
|
348
|
+
zlib->level = (int16_t)value;
|
|
349
|
+
break;
|
|
350
|
+
case MZ_STREAM_PROP_TOTAL_IN_MAX:
|
|
351
|
+
zlib->max_total_in = value;
|
|
352
|
+
break;
|
|
353
|
+
case MZ_STREAM_PROP_COMPRESS_WINDOW:
|
|
354
|
+
zlib->window_bits = (int32_t)value;
|
|
355
|
+
break;
|
|
356
|
+
default:
|
|
357
|
+
return MZ_EXIST_ERROR;
|
|
358
|
+
}
|
|
359
|
+
return MZ_OK;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
void *mz_stream_zlib_create(void **stream) {
|
|
363
|
+
mz_stream_zlib *zlib = NULL;
|
|
364
|
+
|
|
365
|
+
zlib = (mz_stream_zlib *)calloc(1, sizeof(mz_stream_zlib));
|
|
366
|
+
if (zlib) {
|
|
367
|
+
zlib->stream.vtbl = &mz_stream_zlib_vtbl;
|
|
368
|
+
zlib->level = Z_DEFAULT_COMPRESSION;
|
|
369
|
+
zlib->window_bits = -MAX_WBITS;
|
|
370
|
+
}
|
|
371
|
+
if (stream)
|
|
372
|
+
*stream = zlib;
|
|
373
|
+
|
|
374
|
+
return zlib;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
void mz_stream_zlib_delete(void **stream) {
|
|
378
|
+
mz_stream_zlib *zlib = NULL;
|
|
379
|
+
if (!stream)
|
|
380
|
+
return;
|
|
381
|
+
zlib = (mz_stream_zlib *)*stream;
|
|
382
|
+
if (zlib)
|
|
383
|
+
free(zlib);
|
|
384
|
+
*stream = NULL;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
void *mz_stream_zlib_get_interface(void) {
|
|
388
|
+
return (void *)&mz_stream_zlib_vtbl;
|
|
389
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* mz_strm_zlib.h -- Stream for zlib inflate/deflate
|
|
2
|
+
part of the minizip-ng project
|
|
3
|
+
|
|
4
|
+
Copyright (C) Nathan Moinvaziri
|
|
5
|
+
https://github.com/zlib-ng/minizip-ng
|
|
6
|
+
|
|
7
|
+
This program is distributed under the terms of the same license as zlib.
|
|
8
|
+
See the accompanying LICENSE file for the full text of the license.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef MZ_STREAM_ZLIB_H
|
|
12
|
+
#define MZ_STREAM_ZLIB_H
|
|
13
|
+
|
|
14
|
+
#ifdef __cplusplus
|
|
15
|
+
extern "C" {
|
|
16
|
+
#endif
|
|
17
|
+
|
|
18
|
+
/***************************************************************************/
|
|
19
|
+
|
|
20
|
+
int32_t mz_stream_zlib_open(void *stream, const char *filename, int32_t mode);
|
|
21
|
+
int32_t mz_stream_zlib_is_open(void *stream);
|
|
22
|
+
int32_t mz_stream_zlib_read(void *stream, void *buf, int32_t size);
|
|
23
|
+
int32_t mz_stream_zlib_write(void *stream, const void *buf, int32_t size);
|
|
24
|
+
int64_t mz_stream_zlib_tell(void *stream);
|
|
25
|
+
int32_t mz_stream_zlib_seek(void *stream, int64_t offset, int32_t origin);
|
|
26
|
+
int32_t mz_stream_zlib_close(void *stream);
|
|
27
|
+
int32_t mz_stream_zlib_error(void *stream);
|
|
28
|
+
|
|
29
|
+
int32_t mz_stream_zlib_get_prop_int64(void *stream, int32_t prop, int64_t *value);
|
|
30
|
+
int32_t mz_stream_zlib_set_prop_int64(void *stream, int32_t prop, int64_t value);
|
|
31
|
+
|
|
32
|
+
void* mz_stream_zlib_create(void **stream);
|
|
33
|
+
void mz_stream_zlib_delete(void **stream);
|
|
34
|
+
|
|
35
|
+
void* mz_stream_zlib_get_interface(void);
|
|
36
|
+
|
|
37
|
+
/***************************************************************************/
|
|
38
|
+
|
|
39
|
+
#ifdef __cplusplus
|
|
40
|
+
}
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
#endif
|