diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2018-02-13 07:01:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2018-02-13 07:01:01 +0000 |
commit | 0437b6ffc0da64f949af9f8d12297dafd1973ea2 (patch) | |
tree | 475922608b5ef7331bbb6a885b229f9921f5eac9 /decoder.h | |
parent | Adding upstream version 1.19. (diff) | |
download | lziprecover-upstream/1.20.tar.xz lziprecover-upstream/1.20.zip |
Adding upstream version 1.20.upstream/1.20
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | decoder.h | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -1,5 +1,5 @@ /* Lziprecover - Data recovery tool for the lzip format - Copyright (C) 2009-2017 Antonio Diaz Diaz. + Copyright (C) 2009-2018 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 @@ -227,11 +227,7 @@ class LZ_decoder bool verify_trailer( const Pretty_print & pp ) const; uint8_t peek_prev() const - { - if( pos > 0 ) return buffer[pos-1]; - if( pos_wrapped ) return buffer[dictionary_size-1]; - return 0; // prev_byte of first byte - } + { return buffer[((pos > 0) ? pos : dictionary_size)-1]; } uint8_t peek( const unsigned distance ) const { @@ -296,7 +292,8 @@ public: crc_( 0xFFFFFFFFU ), outfd( ofd ), pos_wrapped( false ) - {} + // prev_byte of first byte; also for peek( 0 ) on corrupt file + { buffer[dictionary_size-1] = 0; } ~LZ_decoder() { delete[] buffer; } |