1
0
Fork 0

Adding upstream version 1.17~pre1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-21 11:23:10 +01:00
parent 15503a1dcd
commit c230441360
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
17 changed files with 419 additions and 186 deletions

View file

@ -71,8 +71,8 @@ int repair_file( const std::string & input_filename,
if( verbosity >= 1 ) // damaged member found
{
std::printf( "Repairing member %ld (failure pos = %llu)\n",
i + 1, mpos + failure_pos );
std::printf( "Repairing member %ld of %ld (failure pos = %llu)\n",
i + 1, (long)file_index.members(), mpos + failure_pos );
std::fflush( stdout );
}
uint8_t * const mbuffer = read_member( infd, mpos, msize );
@ -80,7 +80,7 @@ int repair_file( const std::string & input_filename,
cleanup_and_fail( output_filename, outfd, 1 );
long pos = failure_pos;
bool done = false;
while( pos >= File_header::size && pos > failure_pos - 20000 && !done )
while( pos >= File_header::size && pos > failure_pos - 40000 && !done )
{
const long min_pos = std::max( (long)File_header::size, pos - 1000 );
const LZ_mtester * master = prepare_master( mbuffer, msize, min_pos - 16 );
@ -118,7 +118,7 @@ int repair_file( const std::string & input_filename,
delete master;
}
delete[] mbuffer;
if( verbosity >= 1 ) std::printf( "\n" );
if( verbosity >= 1 ) std::fputs( "\n", stdout );
if( !done )
{
show_error( "Can't repair input file. Error is probably larger than 1 byte." );
@ -129,7 +129,7 @@ int repair_file( const std::string & input_filename,
if( outfd < 0 )
{
if( verbosity >= 1 )
std::printf( "Input file has no errors. Recovery is not needed.\n" );
std::fputs( "Input file has no errors. Recovery is not needed.\n", stdout );
return 0;
}
if( close( outfd ) != 0 )
@ -138,6 +138,6 @@ int repair_file( const std::string & input_filename,
cleanup_and_fail( output_filename, -1, 1 );
}
if( verbosity >= 1 )
std::printf( "Copy of input file repaired successfully.\n" );
std::fputs( "Copy of input file repaired successfully.\n", stdout );
return 0;
}