summaryrefslogtreecommitdiffstats
path: root/decoder.h
diff options
context:
space:
mode:
authorDaniel Baumann <mail@daniel-baumann.ch>2015-11-07 10:16:06 +0000
committerDaniel Baumann <mail@daniel-baumann.ch>2015-11-07 10:16:06 +0000
commit0d53d0bcfd869d5b4eb69238c0c0022debc3aa60 (patch)
tree9e0fbce89572e5400e31491fa3130b220afcf189 /decoder.h
parentAdding upstream version 1.13~rc1. (diff)
downloadlziprecover-0d53d0bcfd869d5b4eb69238c0c0022debc3aa60.tar.xz
lziprecover-0d53d0bcfd869d5b4eb69238c0c0022debc3aa60.zip
Adding upstream version 1.13~rc2.upstream/1.13_rc2
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'decoder.h')
-rw-r--r--decoder.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/decoder.h b/decoder.h
index 3b5dc7d..f1a48cb 100644
--- a/decoder.h
+++ b/decoder.h
@@ -192,6 +192,8 @@ public:
class LZ_decoder
{
+ const long long outskip;
+ const long long outend;
long long partial_data_pos;
const int dictionary_size;
const int buffer_size;
@@ -203,6 +205,8 @@ class LZ_decoder
const int member_version;
Range_decoder & range_decoder;
+ long long stream_position() const throw()
+ { return partial_data_pos + stream_pos; }
void flush_data();
bool verify_trailer( const Pretty_print & pp ) const;
@@ -243,8 +247,11 @@ class LZ_decoder
}
public:
- LZ_decoder( const File_header & header, Range_decoder & rdec, const int ofd )
+ LZ_decoder( const File_header & header, Range_decoder & rdec, const int ofd,
+ const long long oskip = 0, const long long oend = LLONG_MAX )
:
+ outskip( oskip ),
+ outend( oend ),
partial_data_pos( 0 ),
dictionary_size( header.dictionary_size() ),
buffer_size( std::max( 65536, dictionary_size ) ),