diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | INSTALL | 14 | ||||
-rw-r--r-- | Makefile.in | 14 | ||||
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | arg_parser.cc | 2 | ||||
-rw-r--r-- | arg_parser.h | 2 | ||||
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | doc/zcat.1 | 4 | ||||
-rw-r--r-- | doc/zcmp.1 | 4 | ||||
-rw-r--r-- | doc/zdiff.1 | 4 | ||||
-rw-r--r-- | doc/zgrep.1 | 4 | ||||
-rw-r--r-- | doc/ztest.1 | 4 | ||||
-rw-r--r-- | doc/zupdate.1 | 12 | ||||
-rw-r--r-- | doc/zutils.info | 44 | ||||
-rw-r--r-- | doc/zutils.texi (renamed from doc/zutils.texinfo) | 21 | ||||
-rw-r--r-- | rc.cc | 4 | ||||
-rw-r--r-- | rc.h | 2 | ||||
-rw-r--r-- | recursive.cc | 2 | ||||
-rwxr-xr-x | testsuite/check.sh | 6 | ||||
-rw-r--r-- | zcat.cc | 2 | ||||
-rw-r--r-- | zcmp.cc | 2 | ||||
-rw-r--r-- | zcmpdiff.cc | 4 | ||||
-rw-r--r-- | zdiff.cc | 2 | ||||
-rw-r--r-- | zgrep.cc | 2 | ||||
-rw-r--r-- | ztest.cc | 4 | ||||
-rw-r--r-- | zupdate.cc | 22 | ||||
-rw-r--r-- | zutils.cc | 6 | ||||
-rw-r--r-- | zutils.h | 2 |
29 files changed, 112 insertions, 110 deletions
@@ -1,15 +1,10 @@ -2013-10-11 Antonio Diaz Diaz <antonio@gnu.org> +2014-02-01 Antonio Diaz Diaz <antonio@gnu.org> - * Version 1.2-pre3 released. + * Version 1.2 released. + * Added new utility; zupdate. * Removed zutils executable. Utils are now independent executables. - * zupdate.cc: Added new option '-k, --keep'. - * zupdate.cc: Ignore xz files if xz compressor is not installed. * zgrep.cc: Fixed the exit status returned on error. - -2013-09-04 Antonio Diaz Diaz <antonio@gnu.org> - - * Version 1.2-pre2 released. - * Added new utility; zupdate. + * zutils.texinfo: Renamed to zutils.texi. 2013-08-02 Antonio Diaz Diaz <antonio@gnu.org> @@ -107,7 +102,7 @@ * Version 0.1 released. -Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +Copyright (C) 2009, 2010, 2011, 2012, 2013, 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 @@ -49,12 +49,12 @@ the main archive. Another way ----------- -You can also compile zutils into a separate directory. To do this, you -must use a version of 'make' that supports the 'VPATH' variable, such -as GNU 'make'. 'cd' to the directory where you want the object files -and executables to go and run the 'configure' script. 'configure' -automatically checks for the source code in '.', in '..' and in the -directory that 'configure' is in. +You can also compile zutils into a separate directory. +To do this, you must use a version of 'make' that supports the 'VPATH' +variable, such as GNU 'make'. 'cd' to the directory where you want the +object files and executables to go and run the 'configure' script. +'configure' automatically checks for the source code in '.', in '..' and +in the directory that 'configure' is in. 'configure' recognizes the option '--srcdir=DIR' to control where to look for the sources. Usually 'configure' can determine that directory @@ -64,7 +64,7 @@ After running 'configure', you can run 'make' and 'make install' as explained above. -Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. This file is free documentation: you have unlimited permission to copy, distribute and modify it. diff --git a/Makefile.in b/Makefile.in index 98d2f24..478c039 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,9 @@ DISTNAME = $(pkgname)-$(pkgversion) INSTALL = install -INSTALL_PROGRAM = $(INSTALL) -p -m 755 -INSTALL_SCRIPT = $(INSTALL) -p -m 755 -INSTALL_DATA = $(INSTALL) -p -m 644 +INSTALL_PROGRAM = $(INSTALL) -m 755 +INSTALL_SCRIPT = $(INSTALL) -m 755 +INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DIR = $(INSTALL) -d -m 755 SHELL = /bin/sh @@ -80,8 +80,8 @@ doc : info man info : $(VPATH)/doc/$(pkgname).info -$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texinfo - cd $(VPATH)/doc && makeinfo $(pkgname).texinfo +$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texi + cd $(VPATH)/doc && makeinfo $(pkgname).texi man : $(VPATH)/doc/zcat.1 $(VPATH)/doc/zcmp.1 $(VPATH)/doc/zdiff.1 \ $(VPATH)/doc/zgrep.1 $(VPATH)/doc/ztest.1 $(VPATH)/doc/zupdate.1 @@ -177,7 +177,7 @@ uninstall-man : dist : doc ln -sf $(VPATH) $(DISTNAME) - tar -cvf $(DISTNAME).tar \ + tar -Hustar --owner=root --group=root -cvf $(DISTNAME).tar \ $(DISTNAME)/AUTHORS \ $(DISTNAME)/COPYING \ $(DISTNAME)/ChangeLog \ @@ -188,7 +188,7 @@ dist : doc $(DISTNAME)/configure \ $(DISTNAME)/doc/*.1 \ $(DISTNAME)/doc/$(pkgname).info \ - $(DISTNAME)/doc/$(pkgname).texinfo \ + $(DISTNAME)/doc/$(pkgname).texi \ $(DISTNAME)/testsuite/check.sh \ $(DISTNAME)/testsuite/test.txt \ $(DISTNAME)/testsuite/test.txt.tar \ @@ -1,9 +1,11 @@ Changes in version 1.2: -The zutils executable has been removed. All utilities are now -independent executables. - The new utility zupdate, which recompresses bzip2, gzip and xz files to lzip format, has been added. +The zutils executable has been removed. All utilities are now +independent executables. + The exit status of zgrep should now be identical to that of grep. + +"zutils.texinfo" has been renamed to "zutils.texi". @@ -27,7 +27,7 @@ have been compressed. Decompressed is used to refer to data which has undergone the process of decompression. -Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +Copyright (C) 2009, 2010, 2011, 2012, 2013, 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 5cb98a9..7d98ffe 100644 --- a/arg_parser.cc +++ b/arg_parser.cc @@ -1,5 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C++ version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify diff --git a/arg_parser.h b/arg_parser.h index 5248cb1..8d0d5b3 100644 --- a/arg_parser.h +++ b/arg_parser.h @@ -1,5 +1,5 @@ /* Arg_parser - POSIX/GNU command line argument parser. (C++ version) - Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 + Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. This library is free software: you can redistribute it and/or modify @@ -1,13 +1,13 @@ #! /bin/sh # configure script for Zutils - Utilities dealing with compressed files -# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. # # This configure script is free software: you have unlimited permission # to copy, distribute and modify it. pkgname=zutils -pkgversion=1.2-pre3 -srctrigger=doc/${pkgname}.texinfo +pkgversion=1.2 +srctrigger=doc/${pkgname}.texi # clear some things potentially inherited from environment. LC_ALL=C @@ -177,7 +177,7 @@ echo "GREP = ${GREP}" rm -f Makefile cat > Makefile << EOF # Makefile for Zutils - Utilities dealing with compressed files -# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +# Copyright (C) 2009, 2010, 2011, 2012, 2013, 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 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZCAT "1" "October 2013" "Zcat (zutils) 1.2-pre3" "User Commands" +.TH ZCAT "1" "February 2014" "Zcat (zutils) 1.2" "User Commands" .SH NAME Zcat \- decompress and concatenate files to standard output .SH SYNOPSIS @@ -84,7 +84,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZCMP "1" "October 2013" "Zcmp (zutils) 1.2-pre3" "User Commands" +.TH ZCMP "1" "February 2014" "Zcmp (zutils) 1.2" "User Commands" .SH NAME Zcmp \- decompress and compare two files byte by byte .SH SYNOPSIS @@ -82,7 +82,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/zdiff.1 b/doc/zdiff.1 index ce89018..d41ee59 100644 --- a/doc/zdiff.1 +++ b/doc/zdiff.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZDIFF "1" "October 2013" "Zdiff (zutils) 1.2-pre3" "User Commands" +.TH ZDIFF "1" "February 2014" "Zdiff (zutils) 1.2" "User Commands" .SH NAME Zdiff \- decompress and compare two files line by line .SH SYNOPSIS @@ -109,7 +109,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/zgrep.1 b/doc/zgrep.1 index 8041fe0..8adecee 100644 --- a/doc/zgrep.1 +++ b/doc/zgrep.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZGREP "1" "October 2013" "Zgrep (zutils) 1.2-pre3" "User Commands" +.TH ZGREP "1" "February 2014" "Zgrep (zutils) 1.2" "User Commands" .SH NAME Zgrep \- search compressed files for a regular expression .SH SYNOPSIS @@ -127,7 +127,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/ztest.1 b/doc/ztest.1 index cdf40f5..77758c1 100644 --- a/doc/ztest.1 +++ b/doc/ztest.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZTEST "1" "October 2013" "Ztest (zutils) 1.2-pre3" "User Commands" +.TH ZTEST "1" "February 2014" "Ztest (zutils) 1.2" "User Commands" .SH NAME Ztest \- verify integrity of compressed files .SH SYNOPSIS @@ -58,7 +58,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/zupdate.1 b/doc/zupdate.1 index 63696ac..f534870 100644 --- a/doc/zupdate.1 +++ b/doc/zupdate.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. -.TH ZUPDATE "1" "October 2013" "Zupdate (zutils) 1.2-pre3" "User Commands" +.TH ZUPDATE "1" "February 2014" "Zupdate (zutils) 1.2" "User Commands" .SH NAME Zupdate \- recompress bzip2, gzip, xz files to lzip files .SH SYNOPSIS @@ -17,10 +17,10 @@ appropriate for long\-term data archiving. .PP If the lzip compressed version of a file already exists, the file is skipped unless the '\-\-force' option is given. In this case, if the -comparison fails, an error is returned and the original file is not -deleted. The operation of zupdate is meant to be safe and not produce -any data loss. Therefore, existing lzip compressed files are never -overwritten nor deleted. +comparison with the existing lzip version fails, an error is returned +and the original file is not deleted. The operation of zupdate is meant +to be safe and not produce any data loss. Therefore, existing lzip +compressed files are never overwritten nor deleted. .PP Exit status is 0 if all the compressed files were successfully recompressed (if needed), compared and deleted. Non\-zero otherwise. @@ -72,7 +72,7 @@ Report bugs to zutils\-bug@nongnu.org .br Zutils home page: http://www.nongnu.org/zutils/zutils.html .SH COPYRIGHT -Copyright \(co 2013 Antonio Diaz Diaz. +Copyright \(co 2014 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/zutils.info b/doc/zutils.info index 59c7af2..d075c8d 100644 --- a/doc/zutils.info +++ b/doc/zutils.info @@ -1,5 +1,5 @@ This is zutils.info, produced by makeinfo version 4.13+ from -zutils.texinfo. +zutils.texi. INFO-DIR-SECTION Data Compression START-INFO-DIR-ENTRY @@ -12,7 +12,7 @@ File: zutils.info, Node: Top, Next: Introduction, Up: (dir) Zutils Manual ************* -This manual is for Zutils (version 1.2-pre3, 11 October 2013). +This manual is for Zutils (version 1.2, 1 February 2014). * Menu: @@ -29,7 +29,7 @@ This manual is for Zutils (version 1.2-pre3, 11 October 2013). * Concept index:: Index of concepts - Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -607,10 +607,10 @@ long-term data archiving. If the lzip compressed version of a file already exists, the file is skipped unless the '--force' option is given. In this case, if the -comparison fails, an error is returned and the original file is not -deleted. The operation of zupdate is meant to be safe and not produce -any data loss. Therefore, existing lzip compressed files are never -overwritten nor deleted. +comparison with the existing lzip version fails, an error is returned +and the original file is not deleted. The operation of zupdate is meant +to be safe and not produce any data loss. Therefore, existing lzip +compressed files are never overwritten nor deleted. The names of the original files must have one of the following extensions: '.bz2', '.tbz', '.tbz2', '.gz', '.tgz', '.xz', '.txz'. The @@ -629,8 +629,8 @@ recompressed (if needed), compared and deleted. Non-zero otherwise. '--force' Do not skip a file for which a lzip compressed version already exists. '--force' compares the content of the input file with the - content of the lzip file and deletes the input file if both - contents are identical. + content of the existing lzip file and deletes the input file if + both contents are identical. '-k' '--keep' @@ -675,7 +675,7 @@ for all eternity, if not longer. If you find a bug in zutils, please send electronic mail to <zutils-bug@nongnu.org>. Include the version number, which you can find -by running 'zcmp --version'. +by running 'zupdate --version'. File: zutils.info, Node: Concept index, Prev: Problems, Up: Top @@ -701,18 +701,18 @@ Concept index Tag Table: -Node: Top225 -Node: Introduction1156 -Node: Common options3259 -Node: The zutilsrc file4508 -Node: Zcat5434 -Node: Zcmp7356 -Node: Zdiff9680 -Node: Zgrep12183 -Node: Ztest15151 -Node: Zupdate16375 -Node: Problems18708 -Node: Concept index19239 +Node: Top222 +Node: Introduction1154 +Node: Common options3257 +Node: The zutilsrc file4506 +Node: Zcat5432 +Node: Zcmp7354 +Node: Zdiff9678 +Node: Zgrep12181 +Node: Ztest15149 +Node: Zupdate16373 +Node: Problems18746 +Node: Concept index19280 End Tag Table diff --git a/doc/zutils.texinfo b/doc/zutils.texi index e39b51f..09237d2 100644 --- a/doc/zutils.texinfo +++ b/doc/zutils.texi @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 11 October 2013 -@set VERSION 1.2-pre3 +@set UPDATED 1 February 2014 +@set VERSION 1.2 @dircategory Data Compression @direntry @@ -49,7 +49,8 @@ This manual is for Zutils (version @value{VERSION}, @value{UPDATED}). @end menu @sp 1 -Copyright @copyright{} 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +Copyright @copyright{} 2009, 2010, 2011, 2012, 2013, 2014 +Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -660,10 +661,10 @@ long-term data archiving. If the lzip compressed version of a file already exists, the file is skipped unless the @samp{--force} option is given. In this case, if the -comparison fails, an error is returned and the original file is not -deleted. The operation of zupdate is meant to be safe and not produce -any data loss. Therefore, existing lzip compressed files are never -overwritten nor deleted. +comparison with the existing lzip version fails, an error is returned +and the original file is not deleted. The operation of zupdate is meant +to be safe and not produce any data loss. Therefore, existing lzip +compressed files are never overwritten nor deleted. The names of the original files must have one of the following extensions: @samp{.bz2}, @samp{.tbz}, @samp{.tbz2}, @samp{.gz}, @@ -687,8 +688,8 @@ Zupdate supports the following options: @itemx --force Do not skip a file for which a lzip compressed version already exists. @samp{--force} compares the content of the input file with the content -of the lzip file and deletes the input file if both contents are -identical. +of the existing lzip file and deletes the input file if both contents +are identical. @item -k @itemx --keep @@ -733,7 +734,7 @@ for all eternity, if not longer. If you find a bug in zutils, please send electronic mail to @email{zutils-bug@@nongnu.org}. Include the version number, which you can -find by running @w{@samp{zcmp --version}}. +find by running @w{@samp{zupdate --version}}. @node Concept index @@ -1,5 +1,5 @@ /* Zutils - Utilities dealing with compressed 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 @@ -37,7 +37,7 @@ int verbosity = 0; namespace { const char * const config_file_name = "zutilsrc"; -const char * const program_year = "2013"; +const char * const program_year = "2014"; std::string compressor_names[num_formats] = { "bzip2", "gzip", "lzip", "xz" }; // default compressor names @@ -1,5 +1,5 @@ /* Zutils - Utilities dealing with compressed 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 diff --git a/recursive.cc b/recursive.cc index 09aa095..f1fd653 100644 --- a/recursive.cc +++ b/recursive.cc @@ -1,5 +1,5 @@ /* Zutils - Utilities dealing with compressed 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 diff --git a/testsuite/check.sh b/testsuite/check.sh index faf9dd3..b7ae7e4 100755 --- a/testsuite/check.sh +++ b/testsuite/check.sh @@ -1,6 +1,6 @@ #! /bin/sh # check script for Zutils - Utilities dealing with compressed files -# Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz. +# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. # # This script is free software: you have unlimited permission # to copy, distribute and modify it. @@ -232,7 +232,7 @@ printf . printf . "${ZDIFF}" -N -q --format=bz2 in.bz2 2> /dev/null if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi -"${ZDIFF}" -N -q --format=,lz in.lz in.bz2 > /dev/null 2> /dev/null +"${ZDIFF}" -N -q --format=,lz in.lz in.bz2 > /dev/null 2>&1 if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi "${ZDIFF}" -N --bad-option 2> /dev/null if [ $? = 2 ] ; then printf . ; else printf - ; fail=1 ; fi @@ -347,7 +347,7 @@ cat in.bz2 > x.bz2 || framework_failure cat in.gz > x.gz || framework_failure "${ZUPDATE}" -N --bz2=bad_command x.bz2 2> /dev/null if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi -"${ZUPDATE}" -N --bz2='bzip2 --bad-option' x.bz2 > /dev/null 2> /dev/null +"${ZUPDATE}" -N --bz2='bzip2 --bad-option' x.bz2 > /dev/null 2>&1 if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi "${ZUPDATE}" -N --gz=bad_command x.gz 2> /dev/null if [ $? = 1 ] ; then printf . ; else printf - ; fail=1 ; fi @@ -1,5 +1,5 @@ /* Zcat - decompress and concatenate files to standard output - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -1,5 +1,5 @@ /* Zcmp - decompress and compare two files byte by byte - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 diff --git a/zcmpdiff.cc b/zcmpdiff.cc index d02a85f..68eab85 100644 --- a/zcmpdiff.cc +++ b/zcmpdiff.cc @@ -1,5 +1,5 @@ /* Common code for Zcmp and Zdiff - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -34,7 +34,7 @@ struct { const char * from; const char * to; } const known_extensions[] = { int open_instream( const std::string & input_filename ) { - int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY ); + const int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY ); if( infd < 0 ) show_error2( "Can't open input file", input_filename.c_str() ); return infd; @@ -1,5 +1,5 @@ /* Zdiff - decompress and compare two files line by line - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -1,5 +1,5 @@ /* Zgrep - search compressed files for a regular expression - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -1,5 +1,5 @@ /* Ztest - verify integrity of compressed files - Copyright (C) 2010, 2011, 2012, 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -79,7 +79,7 @@ void show_help() int open_instream( std::string & input_filename ) { - int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY ); + const int infd = open( input_filename.c_str(), O_RDONLY | O_BINARY ); if( infd < 0 ) show_error2( "Can't open input file", input_filename.c_str() ); return infd; @@ -1,5 +1,5 @@ /* Zupdate - recompress bzip2, gzip, xz files to lzip files - Copyright (C) 2013 Antonio Diaz Diaz. + Copyright (C) 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 @@ -60,10 +60,10 @@ void show_help() "appropriate for long-term data archiving.\n" "\nIf the lzip compressed version of a file already exists, the file is\n" "skipped unless the '--force' option is given. In this case, if the\n" - "comparison fails, an error is returned and the original file is not\n" - "deleted. The operation of zupdate is meant to be safe and not produce\n" - "any data loss. Therefore, existing lzip compressed files are never\n" - "overwritten nor deleted.\n" + "comparison with the existing lzip version fails, an error is returned\n" + "and the original file is not deleted. The operation of zupdate is meant\n" + "to be safe and not produce any data loss. Therefore, existing lzip\n" + "compressed files are never overwritten nor deleted.\n" "\nUsage: zupdate [options] [files]\n" "\nExit status is 0 if all the compressed files were successfully\n" "recompressed (if needed), compared and deleted. Non-zero otherwise.\n" @@ -105,10 +105,14 @@ int cant_execute( const std::string & command, const int status ) void set_permissions( const char * const rname, const struct stat & in_stats ) { bool warning = false; - // fchown will in many cases return with EPERM, which can be safely ignored. - if( ( chown( rname, in_stats.st_uid, in_stats.st_gid ) != 0 && - errno != EPERM ) || - chmod( rname, in_stats.st_mode ) != 0 ) warning = true; + const mode_t mode = in_stats.st_mode; + // chown will in many cases return with EPERM, which can be safely ignored. + if( chown( rname, in_stats.st_uid, in_stats.st_gid ) == 0 ) + { if( chmod( rname, mode ) != 0 ) warning = true; } + else + if( errno != EPERM || + chmod( rname, mode & ~( S_ISUID | S_ISGID | S_ISVTX ) ) != 0 ) + warning = true; struct utimbuf t; t.actime = in_stats.st_atime; t.modtime = in_stats.st_mtime; @@ -1,5 +1,5 @@ /* Zutils - Utilities dealing with compressed 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 @@ -96,7 +96,7 @@ 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; @@ -114,7 +114,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; @@ -1,5 +1,5 @@ /* Zutils - Utilities dealing with compressed 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 |