Move zlib_set_stream to file_archive_zlib

This commit is contained in:
twinaphex 2016-01-24 21:06:53 +01:00
parent 7d29929819
commit 7130f0c8d8
5 changed files with 27 additions and 36 deletions

View File

@ -451,12 +451,8 @@ bool file_archive_inflate_data_to_file_init(
if (!stream) if (!stream)
goto error; goto error;
zlib_set_stream(stream, handle->backend->stream_set(stream, csize, size,
csize, (const uint8_t*)cdata, handle->data);
size,
(const uint8_t*)cdata,
handle->data
);
return true; return true;
@ -730,8 +726,7 @@ end:
* *
* Returns: string listing of files from archive on success, otherwise NULL. * Returns: string listing of files from archive on success, otherwise NULL.
**/ **/
struct string_list *file_archive_get_file_list( struct string_list *file_archive_get_file_list(const char *path,
const char *path,
const char *valid_exts) const char *valid_exts)
{ {
struct string_list *list = string_list_new(); struct string_list *list = string_list_new();
@ -786,23 +781,3 @@ bool file_archive_perform_mode(const char *path, const char *valid_exts,
return true; return true;
} }
void zlib_set_stream(void *data,
uint32_t avail_in,
uint32_t avail_out,
const uint8_t *next_in,
uint8_t *next_out
)
{
z_stream *stream = (z_stream*)data;
if (!stream)
return;
stream->avail_in = avail_in;
stream->avail_out = avail_out;
stream->next_in = (uint8_t*)next_in;
stream->next_out = next_out;
}

View File

@ -38,6 +38,25 @@ static void zlib_stream_free(void *data)
inflateEnd(ret); inflateEnd(ret);
} }
static void zlib_stream_set(void *data,
uint32_t avail_in,
uint32_t avail_out,
const uint8_t *next_in,
uint8_t *next_out
)
{
z_stream *stream = (z_stream*)data;
if (!stream)
return;
stream->avail_in = avail_in;
stream->avail_out = avail_out;
stream->next_in = (uint8_t*)next_in;
stream->next_out = next_out;
}
static uint32_t zlib_stream_get_avail_in(void *data) static uint32_t zlib_stream_get_avail_in(void *data)
{ {
z_stream *stream = (z_stream*)data; z_stream *stream = (z_stream*)data;
@ -113,6 +132,7 @@ static bool zlib_stream_decompress_init(void *data)
const struct zlib_file_backend zlib_backend = { const struct zlib_file_backend zlib_backend = {
zlib_stream_new, zlib_stream_new,
zlib_stream_free, zlib_stream_free,
zlib_stream_set,
zlib_stream_get_avail_in, zlib_stream_get_avail_in,
zlib_stream_get_avail_out, zlib_stream_get_avail_out,
zlib_stream_get_total_out, zlib_stream_get_total_out,

View File

@ -798,7 +798,7 @@ static bool rpng_load_image_argb_process_init(rpng_t *rpng,
if (!rpng->process.inflate_buf) if (!rpng->process.inflate_buf)
return false; return false;
zlib_set_stream( rpng->process.stream_backend->stream_set(
rpng->process.stream, rpng->process.stream,
rpng->idat_buf.size, rpng->idat_buf.size,
rpng->process.inflate_buf_size, rpng->process.inflate_buf_size,

View File

@ -328,7 +328,7 @@ static bool rpng_save_image(const char *path,
if (!stream) if (!stream)
GOTO_END_ERROR(); GOTO_END_ERROR();
zlib_set_stream( stream_backend->stream_set(
stream, stream,
encode_buf_size, encode_buf_size,
encode_buf_size * 2, encode_buf_size * 2,

View File

@ -41,6 +41,8 @@ struct zlib_file_backend
{ {
void *(*stream_new)(void); void *(*stream_new)(void);
void (*stream_free)(void *); void (*stream_free)(void *);
void (*stream_set)(void *, uint32_t, uint32_t,
const uint8_t *, uint8_t *);
uint32_t (*stream_get_avail_in)(void*); uint32_t (*stream_get_avail_in)(void*);
uint32_t (*stream_get_avail_out)(void*); uint32_t (*stream_get_avail_out)(void*);
uint64_t (*stream_get_total_out)(void*); uint64_t (*stream_get_total_out)(void*);
@ -163,12 +165,6 @@ struct string_list *compressed_file_list_new(const char *filename,
void zlib_deflate_init(void *data, int level); void zlib_deflate_init(void *data, int level);
void zlib_set_stream(void *data,
uint32_t avail_in,
uint32_t avail_out,
const uint8_t *next_in,
uint8_t *next_out
);
const struct zlib_file_backend *file_archive_get_default_file_backend(void); const struct zlib_file_backend *file_archive_get_default_file_backend(void);