1
0
Fork 0

Merging upstream version 1.14~rc1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-17 22:32:02 +01:00
parent f93d1803e4
commit 9144297766
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
20 changed files with 490 additions and 367 deletions

View file

@ -1,5 +1,5 @@
/* Lunzip - Decompressor for the lzip format
Copyright (C) 2010-2022 Antonio Diaz Diaz.
Copyright (C) 2010-2023 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -79,13 +79,16 @@ static inline int Rd_read_data( struct Range_decoder * const rdec,
return sz;
}
static inline void Rd_load( struct Range_decoder * const rdec )
static inline bool Rd_load( struct Range_decoder * const rdec,
const bool ignore_marking )
{
int i;
rdec->code = 0;
for( i = 0; i < 5; ++i ) rdec->code = (rdec->code << 8) | Rd_get_byte( rdec );
rdec->range = 0xFFFFFFFFU;
rdec->code &= rdec->range; /* make sure that first byte is discarded */
/* check and discard first byte of the LZMA stream */
if( Rd_get_byte( rdec ) != 0 && !ignore_marking ) return false;
for( i = 0; i < 4; ++i ) rdec->code = (rdec->code << 8) | Rd_get_byte( rdec );
return true;
}
static inline void Rd_normalize( struct Range_decoder * const rdec )
@ -390,4 +393,5 @@ LZd_data_position( const struct LZ_decoder * const d )
{ return d->partial_data_pos + d->pos; }
int LZd_decode_member( struct LZ_decoder * const d,
const struct Cl_options * const cl_opts,
struct Pretty_print * const pp );