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:
		
							
								
								
									
										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_FREOPEN mz_freopen | ||||
| #define MZ_DELETE_FILE remove | ||||
| #elif defined(__MINGW32__) | ||||
| #elif defined(__MINGW32__) || defined(__WATCOMC__) | ||||
| #ifndef MINIZ_NO_TIME | ||||
| #include <sys/utime.h> | ||||
| #endif | ||||
| @@ -104,10 +104,10 @@ static int mz_stat64(const char *path, struct __stat64 *buffer) | ||||
| #define MZ_FCLOSE fclose | ||||
| #define MZ_FREAD fread | ||||
| #define MZ_FWRITE fwrite | ||||
| #define MZ_FTELL64 ftello64 | ||||
| #define MZ_FSEEK64 fseeko64 | ||||
| #define MZ_FILE_STAT_STRUCT _stat | ||||
| #define MZ_FILE_STAT _stat | ||||
| #define MZ_FTELL64 _ftelli64 | ||||
| #define MZ_FSEEK64 _fseeki64 | ||||
| #define MZ_FILE_STAT_STRUCT stat | ||||
| #define MZ_FILE_STAT stat | ||||
| #define MZ_FFLUSH fflush | ||||
| #define MZ_FREOPEN(f, m, s) freopen(f, m, s) | ||||
| #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) | ||||
| { | ||||
|     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) | ||||
| @@ -2860,7 +2860,7 @@ mz_bool mz_zip_writer_init_file_v2(mz_zip_archive *pZip, const char *pFilename, | ||||
|         mz_uint64 cur_ofs = 0; | ||||
|         char buf[4096]; | ||||
|  | ||||
|         MZ_CLEAR_OBJ(buf); | ||||
|         MZ_CLEAR_ARR(buf); | ||||
|  | ||||
|         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; | ||||
|             /*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; | ||||
|             /*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; | ||||
|  | ||||
|     MZ_CLEAR_OBJ(local_dir_header); | ||||
|     MZ_CLEAR_ARR(local_dir_header); | ||||
|  | ||||
|     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; | ||||
|     } | ||||
|  | ||||
|     MZ_CLEAR_OBJ(local_dir_header); | ||||
|     MZ_CLEAR_ARR(local_dir_header); | ||||
|     if (pState->m_zip64) | ||||
|     { | ||||
|         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 ((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); | ||||
|     } | ||||
|     else | ||||
| @@ -4356,7 +4356,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | ||||
|         /* Write zip64 end of central directory header */ | ||||
|         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_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 */ | ||||
| @@ -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; | ||||
|  | ||||
|         /* 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_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); | ||||
| @@ -4382,7 +4382,7 @@ mz_bool mz_zip_writer_finalize_archive(mz_zip_archive *pZip) | ||||
|     } | ||||
|  | ||||
|     /* 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_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)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user