summaryrefslogtreecommitdiffstats
path: root/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'main.cc')
-rw-r--r--main.cc23
1 files changed, 13 insertions, 10 deletions
diff --git a/main.cc b/main.cc
index d881b19..631c6f4 100644
--- a/main.cc
+++ b/main.cc
@@ -60,7 +60,7 @@ namespace {
const char * const program_name = "tarlz";
const char * const program_year = "2019";
-const char * invocation_name = 0;
+const char * invocation_name = program_name; // default value
bool dereference = false;
@@ -68,14 +68,17 @@ void show_help( const long num_online )
{
std::printf( "Tarlz is a massively parallel (multi-threaded) combined implementation of\n"
"the tar archiver and the lzip compressor. Tarlz creates, lists and extracts\n"
- "archives in a simplified posix pax format compressed with lzip, keeping the\n"
- "alignment between tar members and lzip members. This method adds an indexed\n"
- "lzip layer on top of the tar archive, making it possible to decode the\n"
- "archive safely in parallel. The resulting multimember tar.lz archive is\n"
- "fully backward compatible with standard tar tools like GNU tar, which treat\n"
- "it like any other tar.lz archive. Tarlz can append files to the end of such\n"
- "compressed archives.\n"
- "\nThe tarlz file format is a safe posix-style backup format. In case of\n"
+ "archives in a simplified and safer variant of the POSIX pax format\n"
+ "compressed with lzip, keeping the alignment between tar members and lzip\n"
+ "members. The resulting multimember tar.lz archive is fully backward\n"
+ "compatible with standard tar tools like GNU tar, which treat it like any\n"
+ "other tar.lz archive. Tarlz can append files to the end of such compressed\n"
+ "archives.\n"
+ "\nKeeping the alignment between tar members and lzip members has two\n"
+ "advantages. It adds an indexed lzip layer on top of the tar archive, making\n"
+ "it possible to decode the archive safely in parallel. It also minimizes the\n"
+ "amount of data lost in case of corruption.\n"
+ "\nThe tarlz file format is a safe POSIX-style backup format. In case of\n"
"corruption, tarlz can extract all the undamaged members from the tar.lz\n"
"archive, skipping over the damaged members, just like the standard\n"
"(uncompressed) tar. Moreover, the option '--keep-damaged' can be used to\n"
@@ -305,7 +308,7 @@ int main( const int argc, const char * const argv[] )
bool keep_damaged = false;
bool missing_crc = false;
bool permissive = false;
- invocation_name = argv[0];
+ if( argc > 0 ) invocation_name = argv[0];
if( LZ_version()[0] < '1' )
{ show_error( "Bad library version. At least lzlib 1.0 is required." );