rmp: add optional support for bz2 data. +50 bytes of code
This commit is contained in:
@@ -700,7 +700,7 @@ void dealloc_bunzip(bunzip_data *bd)
|
||||
/* Decompress src_fd to dst_fd. Stops at end of bzip data, not end of file. */
|
||||
|
||||
USE_DESKTOP(long long) int
|
||||
uncompressStream(int src_fd, int dst_fd)
|
||||
unpack_bz2_stream(int src_fd, int dst_fd)
|
||||
{
|
||||
USE_DESKTOP(long long total_written = 0;)
|
||||
char *outbuf;
|
||||
@@ -751,7 +751,7 @@ static char *const bunzip_errors[] = {
|
||||
/* Dumb little test thing, decompress stdin to stdout */
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i = uncompressStream(0, 1);
|
||||
int i = unpack_bz2_stream(0, 1);
|
||||
char c;
|
||||
|
||||
if (i < 0)
|
||||
|
||||
@@ -228,7 +228,7 @@ enum {
|
||||
|
||||
|
||||
USE_DESKTOP(long long) int
|
||||
unlzma(int src_fd, int dst_fd)
|
||||
unpack_lzma_stream(int src_fd, int dst_fd)
|
||||
{
|
||||
USE_DESKTOP(long long total_written = 0;)
|
||||
lzma_header_t header;
|
||||
|
||||
@@ -981,7 +981,7 @@ static int inflate_get_next_window(STATE_PARAM_ONLY)
|
||||
}
|
||||
|
||||
|
||||
/* Called from inflate_gunzip() and inflate_unzip() */
|
||||
/* Called from unpack_gz_stream() and inflate_unzip() */
|
||||
/* NB: bytebuffer is allocated here but freeing it is left to the caller! */
|
||||
static USE_DESKTOP(long long) int
|
||||
inflate_unzip_internal(STATE_PARAM int in, int out)
|
||||
@@ -1056,7 +1056,7 @@ inflate_unzip(inflate_unzip_result *res, unsigned bufsize, int in, int out)
|
||||
|
||||
|
||||
USE_DESKTOP(long long) int
|
||||
inflate_gunzip(int in, int out)
|
||||
unpack_gz_stream(int in, int out)
|
||||
{
|
||||
uint32_t stored_crc = 0;
|
||||
unsigned count;
|
||||
|
||||
@@ -11,7 +11,7 @@ char get_header_tar_bz2(archive_handle_t *archive_handle)
|
||||
/* Can't lseek over pipes */
|
||||
archive_handle->seek = seek_by_read;
|
||||
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, uncompressStream);
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, unpack_bz2_stream);
|
||||
archive_handle->offset = 0;
|
||||
while (get_header_tar(archive_handle) == EXIT_SUCCESS) /**/;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ char get_header_tar_gz(archive_handle_t *archive_handle)
|
||||
|
||||
check_header_gzip_or_die(archive_handle->src_fd);
|
||||
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, inflate_gunzip);
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, unpack_gz_stream);
|
||||
archive_handle->offset = 0;
|
||||
while (get_header_tar(archive_handle) == EXIT_SUCCESS) /**/;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ char get_header_tar_lzma(archive_handle_t * archive_handle)
|
||||
/* Can't lseek over pipes */
|
||||
archive_handle->seek = seek_by_read;
|
||||
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, unlzma);
|
||||
archive_handle->src_fd = open_transformer(archive_handle->src_fd, unpack_lzma_stream);
|
||||
archive_handle->offset = 0;
|
||||
while (get_header_tar(archive_handle) == EXIT_SUCCESS) /**/;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user