summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ChangeLog15
-rw-r--r--INSTALL14
-rw-r--r--Makefile.in14
-rw-r--r--NEWS8
-rw-r--r--README2
-rw-r--r--arg_parser.cc2
-rw-r--r--arg_parser.h2
-rwxr-xr-xconfigure8
-rw-r--r--doc/zcat.14
-rw-r--r--doc/zcmp.14
-rw-r--r--doc/zdiff.14
-rw-r--r--doc/zgrep.14
-rw-r--r--doc/ztest.14
-rw-r--r--doc/zupdate.112
-rw-r--r--doc/zutils.info44
-rw-r--r--doc/zutils.texi (renamed from doc/zutils.texinfo)21
-rw-r--r--rc.cc4
-rw-r--r--rc.h2
-rw-r--r--recursive.cc2
-rwxr-xr-xtestsuite/check.sh6
-rw-r--r--zcat.cc2
-rw-r--r--zcmp.cc2
-rw-r--r--zcmpdiff.cc4
-rw-r--r--zdiff.cc2
-rw-r--r--zgrep.cc2
-rw-r--r--ztest.cc4
-rw-r--r--zupdate.cc22
-rw-r--r--zutils.cc6
-rw-r--r--zutils.h2
29 files changed, 112 insertions, 110 deletions
diff --git a/ChangeLog b/ChangeLog
index aa10218..e0c4658 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/INSTALL b/INSTALL
index 19febd5..8201b47 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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 \
diff --git a/NEWS b/NEWS
index 682e97b..6ce4d66 100644
--- a/NEWS
+++ b/NEWS
@@ -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".
diff --git a/README b/README
index 1142876..5b327d8 100644
--- a/README
+++ b/README
@@ -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
diff --git a/configure b/configure
index cf9c582..bcf101f 100755
--- a/configure
+++ b/configure
@@ -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
diff --git a/doc/zcat.1 b/doc/zcat.1
index 1ceda79..2a94f76 100644
--- a/doc/zcat.1
+++ b/doc/zcat.1
@@ -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.
diff --git a/doc/zcmp.1 b/doc/zcmp.1
index f07b725..ec03656 100644
--- a/doc/zcmp.1
+++ b/doc/zcmp.1
@@ -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
diff --git a/rc.cc b/rc.cc
index 3d991fc..0c6f2d4 100644
--- a/rc.cc
+++ b/rc.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
@@ -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
diff --git a/rc.h b/rc.h
index 9c28e9c..9c8a319 100644
--- a/rc.h
+++ b/rc.h
@@ -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
diff --git a/zcat.cc b/zcat.cc
index a20d514..dc9fd2b 100644
--- a/zcat.cc
+++ b/zcat.cc
@@ -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
diff --git a/zcmp.cc b/zcmp.cc
index 761e48e..17020e7 100644
--- a/zcmp.cc
+++ b/zcmp.cc
@@ -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;
diff --git a/zdiff.cc b/zdiff.cc
index a57630a..b8be568 100644
--- a/zdiff.cc
+++ b/zdiff.cc
@@ -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
diff --git a/zgrep.cc b/zgrep.cc
index 47f5983..7730067 100644
--- a/zgrep.cc
+++ b/zgrep.cc
@@ -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
diff --git a/ztest.cc b/ztest.cc
index c0147a6..0b47fbf 100644
--- a/ztest.cc
+++ b/ztest.cc
@@ -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;
diff --git a/zupdate.cc b/zupdate.cc
index 2b88c79..2b6caaf 100644
--- a/zupdate.cc
+++ b/zupdate.cc
@@ -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;
diff --git a/zutils.cc b/zutils.cc
index afce7fc..069a010 100644
--- a/zutils.cc
+++ b/zutils.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
@@ -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;
diff --git a/zutils.h b/zutils.h
index 511ee04..480fb35 100644
--- a/zutils.h
+++ b/zutils.h
@@ -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