Conscience Core
Functions
conscience_utils::compression Namespace Reference

Functions

bool uncompressDirectoryZstd (const fs::path &zstdFilePath, const fs::path &targetDirectory)
 

Function Documentation

◆ uncompressDirectoryZstd()

bool conscience_utils::compression::uncompressDirectoryZstd ( const fs::path &  zstdFilePath,
const fs::path &  targetDirectory 
)

Decompress a .tar.zst archive produced by the compress code above, rebuild files into a target directory.

Algorithm:

  1. Read the full .zst file into memory
  2. Get original TAR size with ZSTD_getFrameContentSize()
  3. Decompress into TAR buffer
  4. Parse TAR stream:
  • Read 512-byte headers
  • Extract file name + size
  • Read file data
  • Skip padding
  1. Stop on two consecutive zero blocks