mirror of
https://github.com/facebook/zstd.git
synced 2025-10-06 00:04:13 -04:00
fixed seekable_format type mismatch
and some minor "unused variable" warnings. Also : zstd_seekable.h is actually depending on zstd.h for ZSTDLIB_API
This commit is contained in:
parent
830fd4468f
commit
97c60cdf36
@ -6,8 +6,10 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "zstd.h" /* ZSTDLIB_API */
|
||||||
|
|
||||||
static const unsigned ZSTD_seekTableFooterSize = 9;
|
|
||||||
|
#define ZSTD_seekTableFooterSize 9
|
||||||
|
|
||||||
#define ZSTD_SEEKABLE_MAGICNUMBER 0x8F92EAB1
|
#define ZSTD_SEEKABLE_MAGICNUMBER 0x8F92EAB1
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ static int ZSTD_seekable_read_FILE(void* opaque, void* buffer, size_t n)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ZSTD_seekable_seek_FILE(void* opaque, S64 offset, int origin)
|
static int ZSTD_seekable_seek_FILE(void* opaque, long long offset, int origin)
|
||||||
{
|
{
|
||||||
int const ret = LONG_SEEK((FILE*)opaque, offset, origin);
|
int const ret = LONG_SEEK((FILE*)opaque, offset, origin);
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
@ -110,7 +110,7 @@ static int ZSTD_seekable_read_buff(void* opaque, void* buffer, size_t n)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ZSTD_seekable_seek_buff(void* opaque, S64 offset, int origin)
|
static int ZSTD_seekable_seek_buff(void* opaque, long long offset, int origin)
|
||||||
{
|
{
|
||||||
buffWrapper_t* buff = (buffWrapper_t*) opaque;
|
buffWrapper_t* buff = (buffWrapper_t*) opaque;
|
||||||
unsigned long long newOffset;
|
unsigned long long newOffset;
|
||||||
@ -197,7 +197,7 @@ size_t ZSTD_seekable_free(ZSTD_seekable* zs)
|
|||||||
* Performs a binary search to find the last frame with a decompressed offset
|
* Performs a binary search to find the last frame with a decompressed offset
|
||||||
* <= pos
|
* <= pos
|
||||||
* @return : the frame's index */
|
* @return : the frame's index */
|
||||||
U32 ZSTD_seekable_offsetToFrameIndex(ZSTD_seekable* const zs, U64 pos)
|
U32 ZSTD_seekable_offsetToFrameIndex(ZSTD_seekable* const zs, unsigned long long pos)
|
||||||
{
|
{
|
||||||
U32 lo = 0;
|
U32 lo = 0;
|
||||||
U32 hi = zs->seekTable.tableLen;
|
U32 hi = zs->seekTable.tableLen;
|
||||||
@ -222,13 +222,13 @@ U32 ZSTD_seekable_getNumFrames(ZSTD_seekable* const zs)
|
|||||||
return zs->seekTable.tableLen;
|
return zs->seekTable.tableLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
U64 ZSTD_seekable_getFrameCompressedOffset(ZSTD_seekable* const zs, U32 frameIndex)
|
unsigned long long ZSTD_seekable_getFrameCompressedOffset(ZSTD_seekable* const zs, U32 frameIndex)
|
||||||
{
|
{
|
||||||
if (frameIndex >= zs->seekTable.tableLen) return ZSTD_SEEKABLE_FRAMEINDEX_TOOLARGE;
|
if (frameIndex >= zs->seekTable.tableLen) return ZSTD_SEEKABLE_FRAMEINDEX_TOOLARGE;
|
||||||
return zs->seekTable.entries[frameIndex].cOffset;
|
return zs->seekTable.entries[frameIndex].cOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
U64 ZSTD_seekable_getFrameDecompressedOffset(ZSTD_seekable* const zs, U32 frameIndex)
|
unsigned long long ZSTD_seekable_getFrameDecompressedOffset(ZSTD_seekable* const zs, U32 frameIndex)
|
||||||
{
|
{
|
||||||
if (frameIndex >= zs->seekTable.tableLen) return ZSTD_SEEKABLE_FRAMEINDEX_TOOLARGE;
|
if (frameIndex >= zs->seekTable.tableLen) return ZSTD_SEEKABLE_FRAMEINDEX_TOOLARGE;
|
||||||
return zs->seekTable.entries[frameIndex].dOffset;
|
return zs->seekTable.entries[frameIndex].dOffset;
|
||||||
@ -294,7 +294,6 @@ static size_t ZSTD_seekable_loadSeekTable(ZSTD_seekable* zs)
|
|||||||
{ /* Allocate an extra entry at the end so that we can do size
|
{ /* Allocate an extra entry at the end so that we can do size
|
||||||
* computations on the last element without special case */
|
* computations on the last element without special case */
|
||||||
seekEntry_t* entries = (seekEntry_t*)malloc(sizeof(seekEntry_t) * (numFrames + 1));
|
seekEntry_t* entries = (seekEntry_t*)malloc(sizeof(seekEntry_t) * (numFrames + 1));
|
||||||
const BYTE* tableBase = zs->inBuff + ZSTD_skippableHeaderSize;
|
|
||||||
|
|
||||||
U32 idx = 0;
|
U32 idx = 0;
|
||||||
U32 pos = 8;
|
U32 pos = 8;
|
||||||
@ -372,7 +371,7 @@ size_t ZSTD_seekable_initAdvanced(ZSTD_seekable* zs, ZSTD_seekable_customFile sr
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ZSTD_seekable_decompress(ZSTD_seekable* zs, void* dst, size_t len, U64 offset)
|
size_t ZSTD_seekable_decompress(ZSTD_seekable* zs, void* dst, size_t len, unsigned long long offset)
|
||||||
{
|
{
|
||||||
U32 targetFrame = ZSTD_seekable_offsetToFrameIndex(zs, offset);
|
U32 targetFrame = ZSTD_seekable_offsetToFrameIndex(zs, offset);
|
||||||
do {
|
do {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user