CLI supports dictionary decompression in legacy mode v0.5.x
parent
f849462d4c
commit
0c0f314550
|
@ -598,7 +598,7 @@ static int FIO_decompressSrcFile(dRess_t ress, const char* srcFileName)
|
|||
{ U32 const magic = MEM_readLE32(ress.srcBuffer);
|
||||
#if defined(ZSTD_LEGACY_SUPPORT) && (ZSTD_LEGACY_SUPPORT>=1)
|
||||
if (ZSTD_isLegacy(magic)) {
|
||||
filesize += FIO_decompressLegacyFrame(dstFile, srcFile, magic);
|
||||
filesize += FIO_decompressLegacyFrame(dstFile, srcFile, ress.dictBuffer, ress.dstBufferSize, magic);
|
||||
continue;
|
||||
}
|
||||
#endif /* ZSTD_LEGACY_SUPPORT */
|
||||
|
|
|
@ -405,7 +405,7 @@ typedef struct {
|
|||
size_t srcBufferSize;
|
||||
void* dstBuffer;
|
||||
size_t dstBufferSize;
|
||||
void* dictBuffer;
|
||||
const void* dictBuffer;
|
||||
size_t dictBufferSize;
|
||||
ZBUFFv05_DCtx* dctx;
|
||||
} dRessv05_t;
|
||||
|
@ -435,7 +435,6 @@ static void FIOv05_freeDResources(dRessv05_t ress)
|
|||
if (ZBUFFv05_isError(errorCode)) EXM_THROW(69, "Error : can't free ZBUFF context resource : %s", ZBUFFv05_getErrorName(errorCode));
|
||||
free(ress.srcBuffer);
|
||||
free(ress.dstBuffer);
|
||||
free(ress.dictBuffer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -476,7 +475,9 @@ unsigned long long FIOv05_decompressFrame(dRessv05_t ress,
|
|||
|
||||
/*===== General legacy dispatcher =====*/
|
||||
|
||||
unsigned long long FIO_decompressLegacyFrame(FILE* foutput, FILE* finput, U32 magicNumberLE)
|
||||
unsigned long long FIO_decompressLegacyFrame(FILE* foutput, FILE* finput,
|
||||
const void* dictBuffer, size_t dictSize,
|
||||
U32 magicNumberLE)
|
||||
{
|
||||
switch(magicNumberLE)
|
||||
{
|
||||
|
@ -494,10 +495,12 @@ unsigned long long FIO_decompressLegacyFrame(FILE* foutput, FILE* finput, U32 ma
|
|||
}
|
||||
case ZSTDv05_MAGICNUMBER :
|
||||
{ dRessv05_t r = FIOv05_createDResources();
|
||||
unsigned long long const s = FIOv05_decompressFrame(r, foutput, finput);
|
||||
FIOv05_freeDResources(r);
|
||||
return s;
|
||||
}
|
||||
r.dictBuffer = dictBuffer;
|
||||
r.dictBufferSize = dictSize;
|
||||
{ unsigned long long const s = FIOv05_decompressFrame(r, foutput, finput);
|
||||
FIOv05_freeDResources(r);
|
||||
return s;
|
||||
} }
|
||||
default :
|
||||
return ERROR(prefix_unknown);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,9 @@ void FIO_legacy_setNotificationLevel(unsigned level);
|
|||
/* *************************************
|
||||
* Stream/File functions
|
||||
***************************************/
|
||||
unsigned long long FIO_decompressLegacyFrame(FILE* foutput, FILE* finput, U32 magicNumberLE);
|
||||
unsigned long long FIO_decompressLegacyFrame(FILE* foutput, FILE* finput,
|
||||
const void* dictBuffer, size_t dictSize,
|
||||
U32 magicNumberLE);
|
||||
|
||||
|
||||
#if defined (__cplusplus)
|
||||
|
|
Loading…
Reference in New Issue