diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | INSTALL | 6 | ||||
-rw-r--r-- | README | 7 | ||||
-rw-r--r-- | arg_parser.cc | 3 | ||||
-rw-r--r-- | arg_parser.h | 3 | ||||
-rwxr-xr-x | configure | 10 | ||||
-rw-r--r-- | decoder.cc | 6 | ||||
-rw-r--r-- | decoder.h | 4 | ||||
-rw-r--r-- | doc/lziprecover.1 | 8 | ||||
-rw-r--r-- | doc/lziprecover.info | 47 | ||||
-rw-r--r-- | doc/lziprecover.texi | 31 | ||||
-rw-r--r-- | file_index.cc | 20 | ||||
-rw-r--r-- | file_index.h | 4 | ||||
-rw-r--r-- | lzip.h | 4 | ||||
-rw-r--r-- | main.cc | 6 | ||||
-rw-r--r-- | merge.cc | 4 | ||||
-rw-r--r-- | mtester.cc | 6 | ||||
-rw-r--r-- | mtester.h | 4 | ||||
-rw-r--r-- | range_dec.cc | 4 | ||||
-rw-r--r-- | repair.cc | 4 | ||||
-rw-r--r-- | split.cc | 4 | ||||
-rwxr-xr-x | testsuite/check.sh | 4 | ||||
-rw-r--r-- | testsuite/unzcrash.cc | 3 |
23 files changed, 113 insertions, 96 deletions
@@ -1,19 +1,10 @@ -2014-07-01 Antonio Diaz Diaz <antonio@gnu.org> +2014-08-29 Antonio Diaz Diaz <antonio@gnu.org> - * Version 1.16-rc1 released. - * License changed to GPL version 2 or later. - -2014-05-25 Antonio Diaz Diaz <antonio@gnu.org> - - * Version 1.16-pre2 released. + * Version 1.16 released. * New class LZ_mtester makes repair much faster. - -2014-04-05 Antonio Diaz Diaz <antonio@gnu.org> - - * Version 1.16-pre1 released. * main.cc (close_and_set_permissions): Behave like 'cp -p'. - * Minor improvements. * lziprecover.texinfo: Renamed to lziprecover.texi. + * License changed to GPL version 2 or later. 2013-09-14 Antonio Diaz Diaz <antonio@gnu.org> @@ -100,7 +91,7 @@ * testsuite/unzcrash.cc: Test all 1-byte errors. -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 Antonio Diaz Diaz. This file is a collection of facts, and thus it is not copyrightable, but just in case, you have unlimited permission to copy, distribute and @@ -1,7 +1,7 @@ Requirements ------------ You will need a C++ compiler. -I use gcc 4.8.1 and 3.3.6, but the code should compile with any +I use gcc 4.9.1 and 3.3.6, but the code should compile with any standards compliant compiler. Gcc is available at http://gcc.gnu.org. @@ -32,7 +32,7 @@ the main archive. 5. Type 'make install' to install the program and any data files and documentation. - You can install only the program, the info manual or the man page + You can install only the program, the info manual or the man page by typing 'make install-bin', 'make install-info' or 'make install-man' respectively. @@ -58,7 +58,7 @@ After running 'configure', you can run 'make' and 'make install' as explained above. -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -24,6 +24,11 @@ into account both data integrity and decoder availability: * Additionally lzip is copylefted, which guarantees that it will remain free forever. +A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + Lziprecover is able to recover or decompress files produced by any of the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip and pdlzip. @@ -67,7 +72,7 @@ unzcrash.c from Julian Seward's bzip2. Type 'make unzcrash' in the lziprecover source directory to build it. Then try 'unzcrash --help'. -Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +Copyright (C) 2009-2014 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. diff --git a/arg_parser.cc b/arg_parser.cc index ef4bbd0..74f9298 100644 --- a/arg_parser.cc +++ b/arg_parser.cc @@ -1,6 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C++ version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 - Antonio Diaz Diaz. + Copyright (C) 2006-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/arg_parser.h b/arg_parser.h index 1b88f62..d80c353 100644 --- a/arg_parser.h +++ b/arg_parser.h @@ -1,6 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C++ version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 - Antonio Diaz Diaz. + Copyright (C) 2006-2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1,12 +1,12 @@ #! /bin/sh -# configure script for Lziprecover - Data recovery tool for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# configure script for Lziprecover - Data recovery tool for the lzip format +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # # This configure script is free software: you have unlimited permission # to copy, distribute and modify it. pkgname=lziprecover -pkgversion=1.16-rc1 +pkgversion=1.16 progname=lziprecover srctrigger=doc/${pkgname}.texi @@ -164,8 +164,8 @@ echo "CXXFLAGS = ${CXXFLAGS}" echo "LDFLAGS = ${LDFLAGS}" rm -f Makefile cat > Makefile << EOF -# Makefile for Lziprecover - Data recovery tool for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# Makefile for Lziprecover - Data recovery tool for the lzip format +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # This file was generated automatically by configure. Do not edit. # # This Makefile is free software: you have unlimited permission @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -278,7 +278,7 @@ int LZ_decoder::decode_member( const Pretty_print & pp ) { rep0 += rdec.decode( direct_bits - dis_align_bits ) << dis_align_bits; rep0 += rdec.decode_tree_reversed4( bm_align ); - if( rep0 == 0xFFFFFFFFU ) // Marker found + if( rep0 == 0xFFFFFFFFU ) // marker found { rep0 = rep0_saved; rdec.normalize(); @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 diff --git a/doc/lziprecover.1 b/doc/lziprecover.1 index b07aca4..ffd4a6d 100644 --- a/doc/lziprecover.1 +++ b/doc/lziprecover.1 @@ -1,12 +1,12 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH LZIPRECOVER "1" "July 2014" "lziprecover 1.16-rc1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.1. +.TH LZIPRECOVER "1" "August 2014" "lziprecover 1.16" "User Commands" .SH NAME lziprecover \- recovers data from damaged lzip files .SH SYNOPSIS .B lziprecover -[\fIoptions\fR] [\fIfiles\fR] +[\fI\,options\/\fR] [\fI\,files\/\fR] .SH DESCRIPTION -Lziprecover \- Data recovery tool and decompressor for lzip files. +Lziprecover \- Data recovery tool and decompressor for the lzip format. .SH OPTIONS .TP \fB\-h\fR, \fB\-\-help\fR diff --git a/doc/lziprecover.info b/doc/lziprecover.info index 289fec5..b97224a 100644 --- a/doc/lziprecover.info +++ b/doc/lziprecover.info @@ -3,7 +3,7 @@ lziprecover.texi. INFO-DIR-SECTION Data Compression START-INFO-DIR-ENTRY -* Lziprecover: (lziprecover). Data recovery tool for lzip files +* Lziprecover: (lziprecover). Data recovery tool for the lzip format END-INFO-DIR-ENTRY @@ -12,7 +12,7 @@ File: lziprecover.info, Node: Top, Next: Introduction, Up: (dir) Lziprecover Manual ****************** -This manual is for Lziprecover (version 1.16-rc1, 1 July 2014). +This manual is for Lziprecover (version 1.16, 29 August 2014). * Menu: @@ -27,7 +27,7 @@ This manual is for Lziprecover (version 1.16-rc1, 1 July 2014). * Concept index:: Index of concepts - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. + Copyright (C) 2009-2014 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -62,6 +62,11 @@ into account both data integrity and decoder availability: * Additionally lzip is copylefted, which guarantees that it will remain free forever. + A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + Lziprecover is able to recover or decompress files produced by any of the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip and pdlzip. @@ -257,7 +262,7 @@ corruption. Bit-flip happens when one bit in the file is changed from 0 to 1 or vice versa. It may be caused by bad RAM or even by natural radiation. I -have seen a case of bit-flip in a file stored in an USB flash drive. +have seen a case of bit-flip in a file stored on an USB flash drive. Repairing a file can take some time. Small files or files with the error located near the beginning can be repaired in a few seconds. But @@ -496,9 +501,15 @@ programs with a suitable command line syntax. values for each byte. 'N-bit error' means any value differing from the original value in N bit positions, not a value differing from the original value in the bit position N. - The number of N-bit errors per byte (N = 1 to 8) is: 8 28 56 70 56 - 28 8 1 - Examples of RANGE: 1 1,2,3 1-4 1,3-5,8 1-3,5-8 + The number of N-bit errors per byte (N = 1 to 8) is: + 8 28 56 70 56 28 8 1 + + Examples of RANGE Tests errors of N-bit + 1 1 + 1,2,3 1, 2 and 3 + 2-4 2, 3 and 4 + 1,3-5,8 1, 3, 4, 5 and 8 + 1-3,5-8 1, 2, 3, 5, 6, 7 and 8 '-p BYTES' '--position=BYTES' @@ -560,17 +571,17 @@ Concept index Tag Table: -Node: Top226 -Node: Introduction1098 -Node: Invoking lziprecover3856 -Node: Repairing files9294 -Node: Merging files10484 -Node: File format12255 -Node: Examples14765 -Ref: ddrescue-example15966 -Node: Unzcrash17075 -Node: Problems19447 -Node: Concept index19997 +Node: Top231 +Node: Introduction1077 +Node: Invoking lziprecover4105 +Node: Repairing files9543 +Node: Merging files10733 +Node: File format12504 +Node: Examples15014 +Ref: ddrescue-example16215 +Node: Unzcrash17324 +Node: Problems19876 +Node: Concept index20426 End Tag Table diff --git a/doc/lziprecover.texi b/doc/lziprecover.texi index a460607..80d6eb4 100644 --- a/doc/lziprecover.texi +++ b/doc/lziprecover.texi @@ -6,19 +6,19 @@ @finalout @c %**end of header -@set UPDATED 1 July 2014 -@set VERSION 1.16-rc1 +@set UPDATED 29 August 2014 +@set VERSION 1.16 @dircategory Data Compression @direntry -* Lziprecover: (lziprecover). Data recovery tool for lzip files +* Lziprecover: (lziprecover). Data recovery tool for the lzip format @end direntry @ifnothtml @titlepage @title Lziprecover -@subtitle Data recovery tool for lzip files +@subtitle Data recovery tool for the lzip format @subtitle for Lziprecover version @value{VERSION}, @value{UPDATED} @author by Antonio Diaz Diaz @@ -47,8 +47,7 @@ This manual is for Lziprecover (version @value{VERSION}, @value{UPDATED}). @end menu @sp 1 -Copyright @copyright{} 2009, 2010, 2011, 2012, 2013, 2014 -Antonio Diaz Diaz. +Copyright @copyright{} 2009-2014 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -87,6 +86,11 @@ Additionally lzip is copylefted, which guarantees that it will remain free forever. @end itemize +A nice feature of the lzip format is that a corrupt byte is easier to +repair the nearer it is from the beginning of the file. Therefore, with +the help of lziprecover, losing an entire archive just because of a +corrupt byte near the beginning is a thing of the past. + Lziprecover is able to recover or decompress files produced by any of the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip and pdlzip. @@ -287,7 +291,7 @@ forms of data corruption. Bit-flip happens when one bit in the file is changed from 0 to 1 or vice versa. It may be caused by bad RAM or even by natural radiation. I have -seen a case of bit-flip in a file stored in an USB flash drive. +seen a case of bit-flip in a file stored on an USB flash drive. Repairing a file can take some time. Small files or files with the error located near the beginning can be repaired in a few seconds. But @@ -564,8 +568,17 @@ Test N-bit errors only, instead of testing all the 255 wrong values for each byte. @samp{N-bit error} means any value differing from the original value in N bit positions, not a value differing from the original value in the bit position N.@* -The number of N-bit errors per byte (N = 1 to 8) is: 8 28 56 70 56 28 8 1@* -Examples of @var{range}: 1 1,2,3 1-4 1,3-5,8 1-3,5-8 +The number of N-bit errors per byte (N = 1 to 8) is: +@w{8 28 56 70 56 28 8 1} + +@multitable {Examples of @var{range}} {1, 2, 3, 5, 6, 7 and 8} +@item Examples of @var{range} @tab Tests errors of N-bit +@item 1 @tab 1 +@item 1,2,3 @tab 1, 2 and 3 +@item 2-4 @tab 2, 3 and 4 +@item 1,3-5,8 @tab 1, 3, 4, 5 and 8 +@item 1-3,5-8 @tab 1, 2, 3, 5, 6, 7 and 8 +@end multitable @item -p @var{bytes} @itemx --position=@var{bytes} diff --git a/file_index.cc b/file_index.cc index 0ce83d1..f7e1cd0 100644 --- a/file_index.cc +++ b/file_index.cc @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -69,7 +69,7 @@ File_index::File_index( const int infd ) : isize( lseek( infd, 0, SEEK_END ) ), retval_( 0 ) { if( isize < 0 ) - { set_errno_error( "Input file is not seekable :" ); return; } + { set_errno_error( "Input file is not seekable: " ); return; } if( isize < min_member_size ) { error_ = "Input file is too short."; retval_ = 2; return; } if( isize > INT64_MAX ) @@ -78,7 +78,7 @@ File_index::File_index( const int infd ) File_header header; if( seek_read( infd, header.data, File_header::size, 0 ) != File_header::size ) - { set_errno_error( "Error reading member header :" ); return; } + { set_errno_error( "Error reading member header: " ); return; } if( !header.verify_magic() ) { error_ = "Bad magic number (file not in lzip format)."; retval_ = 2; return; } @@ -92,7 +92,7 @@ File_index::File_index( const int infd ) File_trailer trailer; if( seek_read( infd, trailer.data, File_trailer::size, pos - File_trailer::size ) != File_trailer::size ) - { set_errno_error( "Error reading member trailer :" ); break; } + { set_errno_error( "Error reading member trailer: " ); break; } const long long member_size = trailer.member_size(); if( member_size < min_member_size || member_size > pos ) { @@ -103,7 +103,7 @@ File_index::File_index( const int infd ) } if( seek_read( infd, header.data, File_header::size, pos - member_size ) != File_header::size ) - { set_errno_error( "Error reading member header :" ); break; } + { set_errno_error( "Error reading member header: " ); break; } if( !header.verify_magic() || !header.verify_version() ) { if( member_vector.empty() ) // maybe trailing garbage @@ -149,7 +149,7 @@ File_index::File_index( const std::vector< int > & infd_vector, : isize( fsize ), retval_( 0 ) { if( isize < 0 ) - { set_errno_error( "Input file is not seekable :" ); return; } + { set_errno_error( "Input file is not seekable: " ); return; } if( isize < min_member_size ) { error_ = "Input file is too short."; retval_ = 2; return; } if( isize > INT64_MAX ) @@ -163,7 +163,7 @@ File_index::File_index( const std::vector< int > & infd_vector, { const int infd = infd_vector[i]; if( seek_read( infd, header.data, File_header::size, 0 ) != File_header::size ) - { set_errno_error( "Error reading member header :" ); return; } + { set_errno_error( "Error reading member header: " ); return; } if( header.verify_magic() && header.verify_version() ) done = true; } if( !done ) @@ -181,7 +181,7 @@ File_index::File_index( const std::vector< int > & infd_vector, const int tfd = infd_vector[it]; if( seek_read( tfd, trailer.data, File_trailer::size, pos - File_trailer::size ) != File_trailer::size ) - { set_errno_error( "Error reading member trailer :" ); goto error; } + { set_errno_error( "Error reading member trailer: " ); goto error; } member_size = trailer.member_size(); if( member_size >= min_member_size && member_size <= pos ) for( int ih = 0; ih < files && !done; ++ih ) @@ -189,7 +189,7 @@ File_index::File_index( const std::vector< int > & infd_vector, const int hfd = infd_vector[ih]; if( seek_read( hfd, header.data, File_header::size, pos - member_size ) != File_header::size ) - { set_errno_error( "Error reading member header :" ); goto error; } + { set_errno_error( "Error reading member header: " ); goto error; } if( header.verify_magic() && header.verify_version() ) done = true; } } diff --git a/file_index.h b/file_index.h index ec2a351..cf42d83 100644 --- a/file_index.h +++ b/file_index.h @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -91,7 +91,7 @@ bool delete_output_on_interrupt = false; void show_help() { - std::printf( "%s - Data recovery tool and decompressor for lzip files.\n", Program_name ); + std::printf( "%s - Data recovery tool and decompressor for the lzip format.\n", Program_name ); std::printf( "\nUsage: %s [options] [files]\n", invocation_name ); std::printf( "\nOptions:\n" " -h, --help display this help and exit\n" @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -139,7 +139,7 @@ int LZ_mtester::test_member( const long pos_limit ) { rep0 += rdec.decode( direct_bits - dis_align_bits ) << dis_align_bits; rep0 += rdec.decode_tree_reversed4( bm_align ); - if( rep0 == 0xFFFFFFFFU ) // Marker found + if( rep0 == 0xFFFFFFFFU ) // marker found { rep0 = rep0_saved; rdec.normalize(); @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 diff --git a/range_dec.cc b/range_dec.cc index b5448fa..0fa9708 100644 --- a/range_dec.cc +++ b/range_dec.cc @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 @@ -1,5 +1,5 @@ -/* Lziprecover - Data recovery tool for lzip files - Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +/* Lziprecover - Data recovery tool for the lzip format + Copyright (C) 2009-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 diff --git a/testsuite/check.sh b/testsuite/check.sh index 9ef8971..e2cad6f 100755 --- a/testsuite/check.sh +++ b/testsuite/check.sh @@ -1,6 +1,6 @@ #! /bin/sh -# check script for Lziprecover - Data recovery tool for lzip files -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. +# check script for Lziprecover - Data recovery tool for the lzip format +# Copyright (C) 2009-2014 Antonio Diaz Diaz. # # This script is free software: you have unlimited permission # to copy, distribute and modify it. diff --git a/testsuite/unzcrash.cc b/testsuite/unzcrash.cc index 3bedf57..470727d 100644 --- a/testsuite/unzcrash.cc +++ b/testsuite/unzcrash.cc @@ -1,7 +1,6 @@ /* Unzcrash - Tests robustness of decompressors to corrupted data. Inspired by unzcrash.c from Julian Seward's bzip2. - Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014 - Antonio Diaz Diaz. + Copyright (C) 2008-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 |