summaryrefslogtreecommitdiffstats
path: root/decoder.h
diff options
context:
space:
mode:
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 ) ),