From 8d5e33286b086ade0252489ca201eb1aa061c5dc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 21 Feb 2022 17:13:23 +0100 Subject: Merging upstream version 1.23. Signed-off-by: Daniel Baumann --- list.cc | 67 +++++++++++++++++++++++++++++++---------------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) (limited to 'list.cc') diff --git a/list.cc b/list.cc index 09366f1..6cc5aab 100644 --- a/list.cc +++ b/list.cc @@ -1,5 +1,5 @@ /* Lziprecover - Data recovery tool for the lzip format - Copyright (C) 2009-2021 Antonio Diaz Diaz. + Copyright (C) 2009-2022 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 @@ -76,47 +76,44 @@ int list_files( const std::vector< std::string > & filenames, set_retval( retval, lzip_index.retval() ); continue; } - if( verbosity >= 0 ) + if( verbosity < 0 ) continue; + const unsigned long long udata_size = lzip_index.udata_size(); + const unsigned long long cdata_size = lzip_index.cdata_size(); + total_comp += cdata_size; total_uncomp += udata_size; ++files; + const long members = lzip_index.members(); + if( first_post ) { - const unsigned long long udata_size = lzip_index.udata_size(); - const unsigned long long cdata_size = lzip_index.cdata_size(); - total_comp += cdata_size; total_uncomp += udata_size; ++files; - const long members = lzip_index.members(); - if( first_post ) - { - first_post = false; - if( verbosity >= 1 ) std::fputs( " dict memb trail ", stdout ); - std::fputs( " uncompressed compressed saved name\n", stdout ); - } - if( verbosity >= 1 ) - std::printf( "%s %5ld %6lld ", - format_ds( lzip_index.dictionary_size() ), members, - lzip_index.file_size() - cdata_size ); - list_line( udata_size, cdata_size, input_filename ); + first_post = false; + if( verbosity >= 1 ) std::fputs( " dict memb trail ", stdout ); + std::fputs( " uncompressed compressed saved name\n", stdout ); + } + if( verbosity >= 1 ) + std::printf( "%s %5ld %6lld ", format_ds( lzip_index.dictionary_size() ), + members, lzip_index.file_size() - cdata_size ); + list_line( udata_size, cdata_size, input_filename ); - if( verbosity >= 2 && ( members > 1 || - ( members == 1 && lzip_index.mblock( 0 ).pos() > 0 ) ) ) + if( verbosity >= 2 && ( members > 1 || + ( members == 1 && lzip_index.mblock( 0 ).pos() > 0 ) ) ) + { + std::fputs( " member data_pos data_size member_pos member_size\n", stdout ); + long long prev_end = 0; + for( long i = 0, gaps = 0; i < members; ++i ) { - std::fputs( " member data_pos data_size member_pos member_size\n", stdout ); - long long prev_end = 0; - for( long i = 0, gaps = 0; i < members; ++i ) + const Block & db = lzip_index.dblock( i ); + const Block & mb = lzip_index.mblock( i ); + if( mb.pos() > prev_end ) { - const Block & db = lzip_index.dblock( i ); - const Block & mb = lzip_index.mblock( i ); - if( mb.pos() > prev_end ) - { - std::printf( " gap - - %14llu %14llu\n", - prev_end, mb.pos() - prev_end ); - ++gaps; - } - std::printf( "%6ld %14llu %14llu %14llu %14llu\n", - i + gaps + 1, db.pos(), db.size(), mb.pos(), mb.size() ); - prev_end = mb.end(); + std::printf( " gap - - %14llu %14llu\n", + prev_end, mb.pos() - prev_end ); + ++gaps; } - first_post = true; // reprint heading after list of members + std::printf( "%6ld %14llu %14llu %14llu %14llu\n", + i + gaps + 1, db.pos(), db.size(), mb.pos(), mb.size() ); + prev_end = mb.end(); } - std::fflush( stdout ); + first_post = true; // reprint heading after list of members } + std::fflush( stdout ); } if( verbosity >= 0 && files > 1 ) { -- cgit v1.2.3