@@ -197,13 +197,14 @@ bool ZIP::bakeTempZip(const std::string& writeZipPath, BakeOptions options, cons
197197
198198 mz_zip_set_version_madeby (writeZipHandle, MZ_VERSION_MADEBY);
199199
200- const auto time = std::time (nullptr );
200+ const auto modifiedTime = std::time (nullptr );
201+ const auto modifiedTimeDOS = mz_zip_time_t_to_dos_date (modifiedTime);
201202
202203 const bool overrideCompression = options.zip_compressionTypeOverride != EntryCompressionType::NO_OVERRIDE;
203204
204205 bool noneFailed = true ;
205- this ->runForAllEntries ([this , &options, &callback, writeZipHandle, time , overrideCompression, &noneFailed](const std::string& path, const Entry& entry) {
206- auto binData = this ->readEntry (path);
206+ this ->runForAllEntries ([this , &options, &callback, writeZipHandle, modifiedTime, modifiedTimeDOS , overrideCompression, &noneFailed](const std::string& path, const Entry& entry) {
207+ const auto binData = this ->readEntry (path);
207208 if (!binData) {
208209 return ;
209210 }
@@ -220,8 +221,8 @@ bool ZIP::bakeTempZip(const std::string& writeZipPath, BakeOptions options, cons
220221 fileInfo.filename = path.c_str ();
221222 fileInfo.filename_size = path.length ();
222223 fileInfo.version_madeby = MZ_VERSION_MADEBY;
223- fileInfo.creation_date = time ;
224- fileInfo.modified_date = time ;
224+ fileInfo.creation_date = modifiedTime ;
225+ fileInfo.modified_date = modifiedTimeDOS ;
225226 fileInfo.compression_method = overrideCompression ? static_cast <uint16_t >(options.zip_compressionTypeOverride ) : entry.flags >> 16 ;
226227 fileInfo.flag = MZ_ZIP_FLAG_DATA_DESCRIPTOR | MZ_ZIP_FLAG_UTF8;
227228 fileInfo.uncompressed_size = static_cast <int64_t >(entry.length );
0 commit comments