From 2085b1344e4c2b3c4a3d21d4bc10227679a55507 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 7 Nov 2015 12:45:12 +0100 Subject: Merging upstream version 1.16~pre1. Signed-off-by: Daniel Baumann --- decoder.cc | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'decoder.cc') diff --git a/decoder.cc b/decoder.cc index 21a225e..c0defc8 100644 --- a/decoder.cc +++ b/decoder.cc @@ -1,5 +1,5 @@ /* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 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 @@ -46,14 +46,14 @@ void Pretty_print::operator()( const char * const msg, FILE * const f ) const std::fprintf( f, " " ); if( !msg ) std::fflush( f ); } - if( msg ) std::fprintf( f, "%s.\n", msg ); + if( msg ) std::fprintf( f, "%s\n", msg ); } } -// Returns the number of bytes really read. -// If (returned value < size) and (errno == 0), means EOF was reached. -// +/* Returns the number of bytes really read. + If (returned value < size) and (errno == 0), means EOF was reached. +*/ int readblock( const int fd, uint8_t * const buf, const int size ) { int rest = size; @@ -63,16 +63,16 @@ int readblock( const int fd, uint8_t * const buf, const int size ) const int n = read( fd, buf + size - rest, rest ); if( n > 0 ) rest -= n; else if( n == 0 ) break; // EOF - else if( errno != EINTR && errno != EAGAIN ) break; + else if( errno != EINTR ) break; errno = 0; } return size - rest; } -// Returns the number of bytes really written. -// If (returned value < size), it is always an error. -// +/* Returns the number of bytes really written. + If (returned value < size), it is always an error. +*/ int writeblock( const int fd, const uint8_t * const buf, const int size ) { int rest = size; @@ -81,7 +81,7 @@ int writeblock( const int fd, const uint8_t * const buf, const int size ) { const int n = write( fd, buf + size - rest, rest ); if( n > 0 ) rest -= n; - else if( n < 0 && errno != EINTR && errno != EAGAIN ) break; + else if( n < 0 && errno != EINTR ) break; errno = 0; } return size - rest; @@ -127,8 +127,7 @@ bool LZ_decoder::verify_trailer( const Pretty_print & pp ) const { File_trailer trailer; const int trailer_size = File_trailer::size; - const unsigned long long member_size = - rdec.member_position() + trailer_size; + const unsigned long long member_size = rdec.member_position() + trailer_size; bool error = false; int size = rdec.read_data( trailer.data, trailer_size ); @@ -147,7 +146,7 @@ bool LZ_decoder::verify_trailer( const Pretty_print & pp ) const if( !rdec.code_is_zero() ) { error = true; - pp( "Range decoder final code is not zero" ); + pp( "Range decoder final code is not zero." ); } if( trailer.data_crc() != crc() ) { @@ -191,8 +190,8 @@ bool LZ_decoder::verify_trailer( const Pretty_print & pp ) const } -// Return value: 0 = OK, 1 = decoder error, 2 = unexpected EOF, -// 3 = trailer error, 4 = unknown marker found. +/* Return value: 0 = OK, 1 = decoder error, 2 = unexpected EOF, + 3 = trailer error, 4 = unknown marker found. */ int LZ_decoder::decode_member( const Pretty_print & pp ) { Bit_model bm_literal[1<= (unsigned)dictionary_size || - ( rep0 >= (unsigned)pos && !partial_data_pos ) ) + if( rep0 >= dictionary_size || rep0 >= data_position() ) { flush_data(); return 1; } } copy_block( rep0, len ); -- cgit v1.2.3