瀏覽代碼

extractToFolder fix with entry.offset is set to 0

krs 2 年之前
父節點
當前提交
ed70c69a2b
共有 1 個文件被更改,包括 2 次插入9 次删除
  1. 2 9
      lib/filesystem/CArchiveLoader.cpp

+ 2 - 9
lib/filesystem/CArchiveLoader.cpp

@@ -231,15 +231,8 @@ void CArchiveLoader::extractToFolder(const std::string & outputSubFolder, const
 {
 	std::unique_ptr<CInputStream> inputStream = load(ResourceID(mountPoint + entry.name));
 
-	std::vector<ui8> data(entry.fullSize);
-	inputStream->read(data.data(), entry.fullSize);
-
-	bfs::path extractedFilePath = createExtractedFilePath(outputSubFolder, entry.name);
-
-	// writeToOutputFile
-	std::ofstream out(extractedFilePath.string(), std::ofstream::binary);
-	out.exceptions(std::ifstream::failbit | std::ifstream::badbit);
-	out.write((char*)data.data(), entry.fullSize);
+	entry.offset = 0;
+	extractToFolder(outputSubFolder, *inputStream, entry);
 }
 
 bfs::path createExtractedFilePath(const std::string & outputSubFolder, const std::string & entryName)