mirror of
				https://github.com/eledio-devices/thirdparty-miniz.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Merge remote-tracking branch 'ccawley2011/mingw-watcom'
# Conflicts: # examples/example6.c
This commit is contained in:
		| @@ -100,7 +100,7 @@ int main(int argc, char *argv[]) | |||||||
|   file_loc = ftell(pInfile); |   file_loc = ftell(pInfile); | ||||||
|   fseek(pInfile, 0, SEEK_SET); |   fseek(pInfile, 0, SEEK_SET); | ||||||
|  |  | ||||||
|   if ((file_loc < 0) || (file_loc > INT_MAX)) |   if ((file_loc < 0) || ((mz_uint64)file_loc > INT_MAX)) | ||||||
|   { |   { | ||||||
|      // This is not a limitation of miniz or tinfl, but this example. |      // This is not a limitation of miniz or tinfl, but this example. | ||||||
|      printf("File is too large to be processed by this example.\n"); |      printf("File is too large to be processed by this example.\n"); | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ int main(int argc, char *argv[]) | |||||||
|   file_loc = ftell(pInfile); |   file_loc = ftell(pInfile); | ||||||
|   fseek(pInfile, 0, SEEK_SET); |   fseek(pInfile, 0, SEEK_SET); | ||||||
|  |  | ||||||
|   if ((file_loc < 0) || (file_loc > INT_MAX)) |   if ((file_loc < 0) || ((mz_uint64)file_loc > INT_MAX)) | ||||||
|   { |   { | ||||||
|      // This is not a limitation of miniz or tinfl, but this example. |      // This is not a limitation of miniz or tinfl, but this example. | ||||||
|      printf("File is too large to be processed by this example.\n"); |      printf("File is too large to be processed by this example.\n"); | ||||||
|   | |||||||
| @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) | |||||||
|    file_loc = ftell(pInfile); |    file_loc = ftell(pInfile); | ||||||
|    fseek(pInfile, 0, SEEK_SET); |    fseek(pInfile, 0, SEEK_SET); | ||||||
|  |  | ||||||
|    if ((file_loc < 0) || (file_loc > INT_MAX)) |    if ((file_loc < 0) || ((mz_uint64)file_loc > INT_MAX)) | ||||||
|    { |    { | ||||||
|       // This is not a limitation of miniz or tinfl, but this example. |       // This is not a limitation of miniz or tinfl, but this example. | ||||||
|       printf("File is too large to be processed by this example.\n"); |       printf("File is too large to be processed by this example.\n"); | ||||||
|   | |||||||
| @@ -91,6 +91,8 @@ int main(int argc, char *argv[]) | |||||||
|  |  | ||||||
|   int MinIter = 9999, MaxIter = 0; |   int MinIter = 9999, MaxIter = 0; | ||||||
|  |  | ||||||
|  |   (void)argc, (void)argv; | ||||||
|  |  | ||||||
|   for(iY = 0; iY < iYmax; iY++) |   for(iY = 0; iY < iYmax; iY++) | ||||||
|   { |   { | ||||||
|     Cy = CyMin + iY * PixelHeight; |     Cy = CyMin + iY * PixelHeight; | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								miniz.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								miniz.c
									
									
									
									
									
								
							| @@ -320,7 +320,7 @@ int mz_compress2(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char | |||||||
|     memset(&stream, 0, sizeof(stream)); |     memset(&stream, 0, sizeof(stream)); | ||||||
|  |  | ||||||
|     /* In case mz_ulong is 64-bits (argh I hate longs). */ |     /* In case mz_ulong is 64-bits (argh I hate longs). */ | ||||||
|     if ((source_len | *pDest_len) > 0xFFFFFFFFU) |     if ((mz_uint64)(source_len | *pDest_len) > 0xFFFFFFFFU) | ||||||
|         return MZ_PARAM_ERROR; |         return MZ_PARAM_ERROR; | ||||||
|  |  | ||||||
|     stream.next_in = pSource; |     stream.next_in = pSource; | ||||||
| @@ -559,7 +559,7 @@ int mz_uncompress2(unsigned char *pDest, mz_ulong *pDest_len, const unsigned cha | |||||||
|     memset(&stream, 0, sizeof(stream)); |     memset(&stream, 0, sizeof(stream)); | ||||||
|  |  | ||||||
|     /* In case mz_ulong is 64-bits (argh I hate longs). */ |     /* In case mz_ulong is 64-bits (argh I hate longs). */ | ||||||
|     if ((*pSource_len | *pDest_len) > 0xFFFFFFFFU) |     if ((mz_uint64)(*pSource_len | *pDest_len) > 0xFFFFFFFFU) | ||||||
|         return MZ_PARAM_ERROR; |         return MZ_PARAM_ERROR; | ||||||
|  |  | ||||||
|     stream.next_in = pSource; |     stream.next_in = pSource; | ||||||
|   | |||||||
| @@ -58,6 +58,8 @@ typedef struct mz_dummy_time_t_tag | |||||||
| #define MZ_MAX(a, b) (((a) > (b)) ? (a) : (b)) | #define MZ_MAX(a, b) (((a) > (b)) ? (a) : (b)) | ||||||
| #define MZ_MIN(a, b) (((a) < (b)) ? (a) : (b)) | #define MZ_MIN(a, b) (((a) < (b)) ? (a) : (b)) | ||||||
| #define MZ_CLEAR_OBJ(obj) memset(&(obj), 0, sizeof(obj)) | #define MZ_CLEAR_OBJ(obj) memset(&(obj), 0, sizeof(obj)) | ||||||
|  | #define MZ_CLEAR_ARR(obj) memset((obj), 0, sizeof(obj)) | ||||||
|  | #define MZ_CLEAR_PTR(obj) memset((obj), 0, sizeof(*obj)) | ||||||
|  |  | ||||||
| #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN | #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN | ||||||
| #define MZ_READ_LE16(p) *((const mz_uint16 *)(p)) | #define MZ_READ_LE16(p) *((const mz_uint16 *)(p)) | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								miniz_tdef.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								miniz_tdef.c
									
									
									
									
									
								
							| @@ -104,7 +104,7 @@ static tdefl_sym_freq *tdefl_radix_sort_syms(mz_uint num_syms, tdefl_sym_freq *p | |||||||
| { | { | ||||||
|     mz_uint32 total_passes = 2, pass_shift, pass, i, hist[256 * 2]; |     mz_uint32 total_passes = 2, pass_shift, pass, i, hist[256 * 2]; | ||||||
|     tdefl_sym_freq *pCur_syms = pSyms0, *pNew_syms = pSyms1; |     tdefl_sym_freq *pCur_syms = pSyms0, *pNew_syms = pSyms1; | ||||||
|     MZ_CLEAR_OBJ(hist); |     MZ_CLEAR_ARR(hist); | ||||||
|     for (i = 0; i < num_syms; i++) |     for (i = 0; i < num_syms; i++) | ||||||
|     { |     { | ||||||
|         mz_uint freq = pSyms0[i].m_key; |         mz_uint freq = pSyms0[i].m_key; | ||||||
| @@ -222,7 +222,7 @@ static void tdefl_optimize_huffman_table(tdefl_compressor *d, int table_num, int | |||||||
| { | { | ||||||
|     int i, j, l, num_codes[1 + TDEFL_MAX_SUPPORTED_HUFF_CODESIZE]; |     int i, j, l, num_codes[1 + TDEFL_MAX_SUPPORTED_HUFF_CODESIZE]; | ||||||
|     mz_uint next_code[TDEFL_MAX_SUPPORTED_HUFF_CODESIZE + 1]; |     mz_uint next_code[TDEFL_MAX_SUPPORTED_HUFF_CODESIZE + 1]; | ||||||
|     MZ_CLEAR_OBJ(num_codes); |     MZ_CLEAR_ARR(num_codes); | ||||||
|     if (static_table) |     if (static_table) | ||||||
|     { |     { | ||||||
|         for (i = 0; i < table_len; i++) |         for (i = 0; i < table_len; i++) | ||||||
| @@ -248,8 +248,8 @@ static void tdefl_optimize_huffman_table(tdefl_compressor *d, int table_num, int | |||||||
|  |  | ||||||
|         tdefl_huffman_enforce_max_code_size(num_codes, num_used_syms, code_size_limit); |         tdefl_huffman_enforce_max_code_size(num_codes, num_used_syms, code_size_limit); | ||||||
|  |  | ||||||
|         MZ_CLEAR_OBJ(d->m_huff_code_sizes[table_num]); |         MZ_CLEAR_ARR(d->m_huff_code_sizes[table_num]); | ||||||
|         MZ_CLEAR_OBJ(d->m_huff_codes[table_num]); |         MZ_CLEAR_ARR(d->m_huff_codes[table_num]); | ||||||
|         for (i = 1, j = num_used_syms; i <= code_size_limit; i++) |         for (i = 1, j = num_used_syms; i <= code_size_limit; i++) | ||||||
|             for (l = num_codes[i]; l > 0; l--) |             for (l = num_codes[i]; l > 0; l--) | ||||||
|                 d->m_huff_code_sizes[table_num][pSyms[--j].m_sym_index] = (mz_uint8)(i); |                 d->m_huff_code_sizes[table_num][pSyms[--j].m_sym_index] = (mz_uint8)(i); | ||||||
| @@ -1302,8 +1302,8 @@ tdefl_status tdefl_compress(tdefl_compressor *d, const void *pIn_buf, size_t *pI | |||||||
|         d->m_finished = (flush == TDEFL_FINISH); |         d->m_finished = (flush == TDEFL_FINISH); | ||||||
|         if (flush == TDEFL_FULL_FLUSH) |         if (flush == TDEFL_FULL_FLUSH) | ||||||
|         { |         { | ||||||
|             MZ_CLEAR_OBJ(d->m_hash); |             MZ_CLEAR_ARR(d->m_hash); | ||||||
|             MZ_CLEAR_OBJ(d->m_next); |             MZ_CLEAR_ARR(d->m_next); | ||||||
|             d->m_dict_size = 0; |             d->m_dict_size = 0; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @@ -1326,7 +1326,7 @@ tdefl_status tdefl_init(tdefl_compressor *d, tdefl_put_buf_func_ptr pPut_buf_fun | |||||||
|     d->m_greedy_parsing = (flags & TDEFL_GREEDY_PARSING_FLAG) != 0; |     d->m_greedy_parsing = (flags & TDEFL_GREEDY_PARSING_FLAG) != 0; | ||||||
|     d->m_max_probes[1] = 1 + (((flags & 0xFFF) >> 2) + 2) / 3; |     d->m_max_probes[1] = 1 + (((flags & 0xFFF) >> 2) + 2) / 3; | ||||||
|     if (!(flags & TDEFL_NONDETERMINISTIC_PARSING_FLAG)) |     if (!(flags & TDEFL_NONDETERMINISTIC_PARSING_FLAG)) | ||||||
|         MZ_CLEAR_OBJ(d->m_hash); |         MZ_CLEAR_ARR(d->m_hash); | ||||||
|     d->m_lookahead_pos = d->m_lookahead_size = d->m_dict_size = d->m_total_lz_bytes = d->m_lz_code_buf_dict_pos = d->m_bits_in = 0; |     d->m_lookahead_pos = d->m_lookahead_size = d->m_dict_size = d->m_total_lz_bytes = d->m_lz_code_buf_dict_pos = d->m_bits_in = 0; | ||||||
|     d->m_output_flush_ofs = d->m_output_flush_remaining = d->m_finished = d->m_block_index = d->m_bit_buffer = d->m_wants_to_finish = 0; |     d->m_output_flush_ofs = d->m_output_flush_remaining = d->m_finished = d->m_block_index = d->m_bit_buffer = d->m_wants_to_finish = 0; | ||||||
|     d->m_pLZ_code_buf = d->m_lz_code_buf + 1; |     d->m_pLZ_code_buf = d->m_lz_code_buf + 1; | ||||||
| @@ -1347,7 +1347,7 @@ tdefl_status tdefl_init(tdefl_compressor *d, tdefl_put_buf_func_ptr pPut_buf_fun | |||||||
|     d->m_src_buf_left = 0; |     d->m_src_buf_left = 0; | ||||||
|     d->m_out_buf_ofs = 0; |     d->m_out_buf_ofs = 0; | ||||||
|     if (!(flags & TDEFL_NONDETERMINISTIC_PARSING_FLAG)) |     if (!(flags & TDEFL_NONDETERMINISTIC_PARSING_FLAG)) | ||||||
|         MZ_CLEAR_OBJ(d->m_dict); |         MZ_CLEAR_ARR(d->m_dict); | ||||||
|     memset(&d->m_huff_count[0][0], 0, sizeof(d->m_huff_count[0][0]) * TDEFL_MAX_HUFF_SYMBOLS_0); |     memset(&d->m_huff_count[0][0], 0, sizeof(d->m_huff_count[0][0]) * TDEFL_MAX_HUFF_SYMBOLS_0); | ||||||
|     memset(&d->m_huff_count[1][0], 0, sizeof(d->m_huff_count[1][0]) * TDEFL_MAX_HUFF_SYMBOLS_1); |     memset(&d->m_huff_count[1][0], 0, sizeof(d->m_huff_count[1][0]) * TDEFL_MAX_HUFF_SYMBOLS_1); | ||||||
|     return TDEFL_STATUS_OKAY; |     return TDEFL_STATUS_OKAY; | ||||||
|   | |||||||
| @@ -292,7 +292,7 @@ tinfl_status tinfl_decompress(tinfl_decompressor *r, const mz_uint8 *pIn_buf_nex | |||||||
|                     TINFL_GET_BITS(11, r->m_table_sizes[counter], "\05\05\04"[counter]); |                     TINFL_GET_BITS(11, r->m_table_sizes[counter], "\05\05\04"[counter]); | ||||||
|                     r->m_table_sizes[counter] += s_min_table_sizes[counter]; |                     r->m_table_sizes[counter] += s_min_table_sizes[counter]; | ||||||
|                 } |                 } | ||||||
|                 MZ_CLEAR_OBJ(r->m_tables[2].m_code_size); |                 MZ_CLEAR_ARR(r->m_tables[2].m_code_size); | ||||||
|                 for (counter = 0; counter < r->m_table_sizes[2]; counter++) |                 for (counter = 0; counter < r->m_table_sizes[2]; counter++) | ||||||
|                 { |                 { | ||||||
|                     mz_uint s; |                     mz_uint s; | ||||||
| @@ -307,9 +307,9 @@ tinfl_status tinfl_decompress(tinfl_decompressor *r, const mz_uint8 *pIn_buf_nex | |||||||
|                 tinfl_huff_table *pTable; |                 tinfl_huff_table *pTable; | ||||||
|                 mz_uint i, j, used_syms, total, sym_index, next_code[17], total_syms[16]; |                 mz_uint i, j, used_syms, total, sym_index, next_code[17], total_syms[16]; | ||||||
|                 pTable = &r->m_tables[r->m_type]; |                 pTable = &r->m_tables[r->m_type]; | ||||||
|                 MZ_CLEAR_OBJ(total_syms); |                 MZ_CLEAR_ARR(total_syms); | ||||||
|                 MZ_CLEAR_OBJ(pTable->m_look_up); |                 MZ_CLEAR_ARR(pTable->m_look_up); | ||||||
|                 MZ_CLEAR_OBJ(pTable->m_tree); |                 MZ_CLEAR_ARR(pTable->m_tree); | ||||||
|                 for (i = 0; i < r->m_table_sizes[r->m_type]; ++i) |                 for (i = 0; i < r->m_table_sizes[r->m_type]; ++i) | ||||||
|                     total_syms[pTable->m_code_size[i]]++; |                     total_syms[pTable->m_code_size[i]]++; | ||||||
|                 used_syms = 0, total = 0; |                 used_syms = 0, total = 0; | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								miniz_zip.c
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								miniz_zip.c
									
									
									
									
									
								
							| @@ -96,7 +96,7 @@ static int mz_stat64(const char *path, struct __stat64 *buffer) | |||||||
| #define MZ_FFLUSH fflush | #define MZ_FFLUSH fflush | ||||||
| #define MZ_FREOPEN mz_freopen | #define MZ_FREOPEN mz_freopen | ||||||
| #define MZ_DELETE_FILE remove | #define MZ_DELETE_FILE remove | ||||||
| #elif defined(__MINGW32__) | #elif defined(__MINGW32__) || defined(__WATCOMC__) | ||||||
| #ifndef MINIZ_NO_TIME | #ifndef MINIZ_NO_TIME | ||||||
| #include <sys/utime.h> | #include <sys/utime.h> | ||||||
| #endif | #endif | ||||||
| @@ -104,10 +104,10 @@ static int mz_stat64(const char *path, struct __stat64 *buffer) | |||||||
| #define MZ_FCLOSE fclose | #define MZ_FCLOSE fclose | ||||||
| #define MZ_FREAD fread | #define MZ_FREAD fread | ||||||
| #define MZ_FWRITE fwrite | #define MZ_FWRITE fwrite | ||||||
| #define MZ_FTELL64 ftello64 | #define MZ_FTELL64 _ftelli64 | ||||||
| #define MZ_FSEEK64 fseeko64 | #define MZ_FSEEK64 _fseeki64 | ||||||
| #define MZ_FILE_STAT_STRUCT _stat | #define MZ_FILE_STAT_STRUCT stat | ||||||
| #define MZ_FILE_STAT _stat | #define MZ_FILE_STAT stat | ||||||
| #define MZ_FFLUSH fflush | #define MZ_FFLUSH fflush | ||||||
| #define MZ_FREOPEN(f, m, s) freopen(f, m, s) | #define MZ_FREOPEN(f, m, s) freopen(f, m, s) | ||||||
| #define MZ_DELETE_FILE remove | #define MZ_DELETE_FILE remove | ||||||
| @@ -874,7 +874,7 @@ static mz_bool mz_zip_reader_read_central_dir(mz_zip_archive *pZip, mz_uint flag | |||||||
| void mz_zip_zero_struct(mz_zip_archive *pZip) | void mz_zip_zero_struct(mz_zip_archive *pZip) | ||||||
| { | { | ||||||
|     if (pZip) |     if (pZip) | ||||||
|         MZ_CLEAR_OBJ(*pZip); |         MZ_CLEAR_PTR(pZip); | ||||||
| } | } | ||||||
|  |  | ||||||
| static mz_bool mz_zip_reader_end_internal(mz_zip_archive *pZip, mz_bool set_last_error) | static mz_bool mz_zip_reader_end_internal(mz_zip_archive *pZip, mz_bool set_last_error) | ||||||
| @@ -2860,7 +2860,7 @@ mz_bool mz_zip_writer_init_file_v2(mz_zip_archive *pZip, const char *pFilename, | |||||||
|         mz_uint64 cur_ofs = 0; |         mz_uint64 cur_ofs = 0; | ||||||
|         char buf[4096]; |         char buf[4096]; | ||||||
|  |  | ||||||
|         MZ_CLEAR_OBJ(buf); |         MZ_CLEAR_ARR(buf); | ||||||
|  |  | ||||||
|         do |         do | ||||||
|         { |         { | ||||||
| @@ -3223,7 +3223,7 @@ mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_n | |||||||
|             pState->m_zip64 = MZ_TRUE; |             pState->m_zip64 = MZ_TRUE; | ||||||
|             /*return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); */ |             /*return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); */ | ||||||
|         } |         } | ||||||
|         if ((buf_size > 0xFFFFFFFF) || (uncomp_size > 0xFFFFFFFF)) |         if (((mz_uint64)buf_size > 0xFFFFFFFF) || (uncomp_size > 0xFFFFFFFF)) | ||||||
|         { |         { | ||||||
|             pState->m_zip64 = MZ_TRUE; |             pState->m_zip64 = MZ_TRUE; | ||||||
|             /*return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); */ |             /*return mz_zip_set_error(pZip, MZ_ZIP_ARCHIVE_TOO_LARGE); */ | ||||||
| @@ -3316,7 +3316,7 @@ mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_n | |||||||
|     } |     } | ||||||
|     cur_archive_file_ofs += num_alignment_padding_bytes; |     cur_archive_file_ofs += num_alignment_padding_bytes; | ||||||
|  |  | ||||||
|     MZ_CLEAR_OBJ(local_dir_header); |     MZ_CLEAR_ARR(local_dir_header); | ||||||
|  |  | ||||||
|     if (!store_data_uncompressed || (level_and_flags & MZ_ZIP_FLAG_COMPRESSED_DATA)) |     if (!store_data_uncompressed || (level_and_flags & MZ_ZIP_FLAG_COMPRESSED_DATA)) | ||||||
|     { |     { | ||||||
| @@ -3569,7 +3569,7 @@ mz_bool mz_zip_writer_add_read_buf_callback(mz_zip_archive *pZip, const char *pA | |||||||
|         method = MZ_DEFLATED; |         method = MZ_DEFLATED; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     MZ_CLEAR_OBJ(local_dir_header); |     MZ_CLEAR_ARR(local_dir_header); | ||||||
|     if (pState->m_zip64) |     if (pState->m_zip64) | ||||||
|     { |     { | ||||||
|         if (max_size >= MZ_UINT32_MAX || local_dir_header_ofs >= MZ_UINT32_MAX) |         if (max_size >= MZ_UINT32_MAX || local_dir_header_ofs >= MZ_UINT32_MAX) | ||||||
| @@ -4328,7 +4328,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | |||||||
|  |  | ||||||
|     if (pState->m_zip64) |     if (pState->m_zip64) | ||||||
|     { |     { | ||||||
|         if ((pZip->m_total_files > MZ_UINT32_MAX) || (pState->m_central_dir.m_size >= MZ_UINT32_MAX)) |         if (((mz_uint64)pZip->m_total_files > MZ_UINT32_MAX) || (pState->m_central_dir.m_size >= MZ_UINT32_MAX)) | ||||||
|             return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); |             return mz_zip_set_error(pZip, MZ_ZIP_TOO_MANY_FILES); | ||||||
|     } |     } | ||||||
|     else |     else | ||||||
| @@ -4356,7 +4356,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | |||||||
|         /* Write zip64 end of central directory header */ |         /* Write zip64 end of central directory header */ | ||||||
|         mz_uint64 rel_ofs_to_zip64_ecdr = pZip->m_archive_size; |         mz_uint64 rel_ofs_to_zip64_ecdr = pZip->m_archive_size; | ||||||
|  |  | ||||||
|         MZ_CLEAR_OBJ(hdr); |         MZ_CLEAR_ARR(hdr); | ||||||
|         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDH_SIG_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG); |         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDH_SIG_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIG); | ||||||
|         MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE - sizeof(mz_uint32) - sizeof(mz_uint64)); |         MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDH_SIZE_OF_RECORD_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE - sizeof(mz_uint32) - sizeof(mz_uint64)); | ||||||
|         MZ_WRITE_LE16(hdr + MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS, 0x031E); /* TODO: always Unix */ |         MZ_WRITE_LE16(hdr + MZ_ZIP64_ECDH_VERSION_MADE_BY_OFS, 0x031E); /* TODO: always Unix */ | ||||||
| @@ -4371,7 +4371,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | |||||||
|         pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE; |         pZip->m_archive_size += MZ_ZIP64_END_OF_CENTRAL_DIR_HEADER_SIZE; | ||||||
|  |  | ||||||
|         /* Write zip64 end of central directory locator */ |         /* Write zip64 end of central directory locator */ | ||||||
|         MZ_CLEAR_OBJ(hdr); |         MZ_CLEAR_ARR(hdr); | ||||||
|         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDL_SIG_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG); |         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDL_SIG_OFS, MZ_ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG); | ||||||
|         MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS, rel_ofs_to_zip64_ecdr); |         MZ_WRITE_LE64(hdr + MZ_ZIP64_ECDL_REL_OFS_TO_ZIP64_ECDR_OFS, rel_ofs_to_zip64_ecdr); | ||||||
|         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS, 1); |         MZ_WRITE_LE32(hdr + MZ_ZIP64_ECDL_TOTAL_NUMBER_OF_DISKS_OFS, 1); | ||||||
| @@ -4382,7 +4382,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     /* Write end of central directory record */ |     /* Write end of central directory record */ | ||||||
|     MZ_CLEAR_OBJ(hdr); |     MZ_CLEAR_ARR(hdr); | ||||||
|     MZ_WRITE_LE32(hdr + MZ_ZIP_ECDH_SIG_OFS, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG); |     MZ_WRITE_LE32(hdr + MZ_ZIP_ECDH_SIG_OFS, MZ_ZIP_END_OF_CENTRAL_DIR_HEADER_SIG); | ||||||
|     MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files)); |     MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_NUM_ENTRIES_ON_DISK_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files)); | ||||||
|     MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files)); |     MZ_WRITE_LE16(hdr + MZ_ZIP_ECDH_CDIR_TOTAL_ENTRIES_OFS, MZ_MIN(MZ_UINT16_MAX, pZip->m_total_files)); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user