@@ -3186,6 +3186,17 @@ mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_n
31863186 }
31873187#endif /* #ifndef MINIZ_NO_TIME */
31883188
3189+ if (!(level_and_flags & MZ_ZIP_FLAG_COMPRESSED_DATA ))
3190+ {
3191+ uncomp_crc32 = (mz_uint32 )mz_crc32 (MZ_CRC32_INIT , (const mz_uint8 * )pBuf , buf_size );
3192+ uncomp_size = buf_size ;
3193+ if (uncomp_size <= 3 )
3194+ {
3195+ level = 0 ;
3196+ store_data_uncompressed = MZ_TRUE ;
3197+ }
3198+ }
3199+
31893200 archive_name_size = strlen (pArchive_name );
31903201 if (archive_name_size > MZ_UINT16_MAX )
31913202 return mz_zip_set_error (pZip , MZ_ZIP_INVALID_FILENAME );
@@ -3301,24 +3312,13 @@ mz_bool mz_zip_writer_add_mem_ex_v2(mz_zip_archive *pZip, const char *pArchive_n
33013312 cur_archive_file_ofs += archive_name_size ;
33023313 }
33033314
3304- if (user_extra_data_len > 0 )
3305- {
3306- if (pZip -> m_pWrite (pZip -> m_pIO_opaque , cur_archive_file_ofs , user_extra_data , user_extra_data_len ) != user_extra_data_len )
3307- return mz_zip_set_error (pZip , MZ_ZIP_FILE_WRITE_FAILED );
3308-
3309- cur_archive_file_ofs += user_extra_data_len ;
3310- }
3315+ if (user_extra_data_len > 0 )
3316+ {
3317+ if (pZip -> m_pWrite (pZip -> m_pIO_opaque , cur_archive_file_ofs , user_extra_data , user_extra_data_len ) != user_extra_data_len )
3318+ return mz_zip_set_error (pZip , MZ_ZIP_FILE_WRITE_FAILED );
33113319
3312- if (!(level_and_flags & MZ_ZIP_FLAG_COMPRESSED_DATA ))
3313- {
3314- uncomp_crc32 = (mz_uint32 )mz_crc32 (MZ_CRC32_INIT , (const mz_uint8 * )pBuf , buf_size );
3315- uncomp_size = buf_size ;
3316- if (uncomp_size <= 3 )
3317- {
3318- level = 0 ;
3319- store_data_uncompressed = MZ_TRUE ;
3320- }
3321- }
3320+ cur_archive_file_ofs += user_extra_data_len ;
3321+ }
33223322
33233323 if (store_data_uncompressed )
33243324 {
0 commit comments