Imported Upstream version 2.2.1 upstream upstream/2.2.1
authorTizenOpenSource <tizenopensrc@samsung.com>
Tue, 27 Dec 2022 07:42:08 +0000 (16:42 +0900)
committerTizenOpenSource <tizenopensrc@samsung.com>
Tue, 27 Dec 2022 07:42:08 +0000 (16:42 +0900)
42 files changed:
CHANGES
Makefile.am
Makefile.in
commandidentifier.c
commandidentifier.h
compile
configure
configure.ac
depcomp
dir.c
dir.h
errormsg.c
errormsg.h
fdupes.c
fdupes.h
filegroup.h
fmatch.c
fmatch.h
install-sh
log.c
log.h
mbstowcs_escape_invalid.c
mbstowcs_escape_invalid.h
missing
ncurses-commands.c
ncurses-commands.h
ncurses-getcommand.c
ncurses-getcommand.h
ncurses-interface.c
ncurses-interface.h
ncurses-print.c
ncurses-print.h
ncurses-prompt.c
ncurses-prompt.h
ncurses-status.c
ncurses-status.h
positive_wcwidth.c
positive_wcwidth.h
sigint.c
sigint.h
wcs.c
wcs.h

diff --git a/CHANGES b/CHANGES
index 1972e22..c0200c0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@ who contributed the patch or idea appears first, followed by
 those who've otherwise worked on that item. For a list of 
 contributors names and identifiers please see the CONTRIBUTORS file.
 
+Changes from 2.2.0 to 2.2.1:
+
+ - Fix bug in code meant to skip over the current log file when --log
+   option is given.
+ - Updates to copyright notices in source code.
+
 Changes from 2.1.2 to 2.2.0:
 
  - Add --deferconfirmation option.
index b134684..917e014 100644 (file)
@@ -1,6 +1,5 @@
 bin_PROGRAMS = fdupes
 
-if NO_NCURSES
 fdupes_SOURCES = fdupes.c\
  fdupes.h\
  errormsg.c\
@@ -25,10 +24,8 @@ fdupes_SOURCES = fdupes.c\
  md5/md5.h
 dist_man1_MANS = fdupes.1
 
-else
-fdupes_SOURCES = fdupes.c\
- fdupes.h\
- filegroup.h\
+if WITH_NCURSES
+fdupes_SOURCES += filegroup.h\
  fileaction.h\
  fileaction.c\
  ncurses-commands.c\
@@ -45,31 +42,10 @@ fdupes_SOURCES = fdupes.c\
  ncurses-status.h\
  commandidentifier.c\
  commandidentifier.h\
- errormsg.c\
- errormsg.h\
  wcs.c\
  wcs.h\
- dir.c\
- dir.h\
- log.c\
- log.h\
- fmatch.c\
- fmatch.h\
- sigint.c\
- sigint.h\
- flags.c\
- flags.h\
- confirmmatch.c\
- confirmmatch.h\
- removeifnotchanged.c\
- removeifnotchanged.h\
- mbstowcs_escape_invalid.c\
- mbstowcs_escape_invalid.h\
  positive_wcwidth.c\
- positive_wcwidth.h\
- md5/md5.c\
- md5/md5.h
-dist_man1_MANS = fdupes.1
+ positive_wcwidth.h
 dist_man7_MANS = fdupes-help.7
 
 endif
index 18bd865..c309ff6 100644 (file)
@@ -87,6 +87,28 @@ NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
 bin_PROGRAMS = fdupes$(EXEEXT)
+@WITH_NCURSES_TRUE@am__append_1 = filegroup.h\
+@WITH_NCURSES_TRUE@ fileaction.h\
+@WITH_NCURSES_TRUE@ fileaction.c\
+@WITH_NCURSES_TRUE@ ncurses-commands.c\
+@WITH_NCURSES_TRUE@ ncurses-commands.h\
+@WITH_NCURSES_TRUE@ ncurses-getcommand.c\
+@WITH_NCURSES_TRUE@ ncurses-getcommand.h\
+@WITH_NCURSES_TRUE@ ncurses-interface.c\
+@WITH_NCURSES_TRUE@ ncurses-interface.h\
+@WITH_NCURSES_TRUE@ ncurses-print.c\
+@WITH_NCURSES_TRUE@ ncurses-print.h\
+@WITH_NCURSES_TRUE@ ncurses-prompt.c\
+@WITH_NCURSES_TRUE@ ncurses-prompt.h\
+@WITH_NCURSES_TRUE@ ncurses-status.c\
+@WITH_NCURSES_TRUE@ ncurses-status.h\
+@WITH_NCURSES_TRUE@ commandidentifier.c\
+@WITH_NCURSES_TRUE@ commandidentifier.h\
+@WITH_NCURSES_TRUE@ wcs.c\
+@WITH_NCURSES_TRUE@ wcs.h\
+@WITH_NCURSES_TRUE@ positive_wcwidth.c\
+@WITH_NCURSES_TRUE@ positive_wcwidth.h
+
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -103,43 +125,33 @@ CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
        "$(DESTDIR)$(man7dir)"
 PROGRAMS = $(bin_PROGRAMS)
-am__fdupes_SOURCES_DIST = fdupes.c fdupes.h filegroup.h fileaction.h \
-       fileaction.c ncurses-commands.c ncurses-commands.h \
-       ncurses-getcommand.c ncurses-getcommand.h ncurses-interface.c \
-       ncurses-interface.h ncurses-print.c ncurses-print.h \
-       ncurses-prompt.c ncurses-prompt.h ncurses-status.c \
-       ncurses-status.h commandidentifier.c commandidentifier.h \
-       errormsg.c errormsg.h wcs.c wcs.h dir.c dir.h log.c log.h \
-       fmatch.c fmatch.h sigint.c sigint.h flags.c flags.h \
-       confirmmatch.c confirmmatch.h removeifnotchanged.c \
-       removeifnotchanged.h mbstowcs_escape_invalid.c \
-       mbstowcs_escape_invalid.h positive_wcwidth.c \
-       positive_wcwidth.h md5/md5.c md5/md5.h
+am__fdupes_SOURCES_DIST = fdupes.c fdupes.h errormsg.c errormsg.h \
+       dir.c dir.h log.c log.h fmatch.c fmatch.h sigint.c sigint.h \
+       flags.c flags.h confirmmatch.c confirmmatch.h \
+       removeifnotchanged.c removeifnotchanged.h \
+       mbstowcs_escape_invalid.c mbstowcs_escape_invalid.h md5/md5.c \
+       md5/md5.h filegroup.h fileaction.h fileaction.c \
+       ncurses-commands.c ncurses-commands.h ncurses-getcommand.c \
+       ncurses-getcommand.h ncurses-interface.c ncurses-interface.h \
+       ncurses-print.c ncurses-print.h ncurses-prompt.c \
+       ncurses-prompt.h ncurses-status.c ncurses-status.h \
+       commandidentifier.c commandidentifier.h wcs.c wcs.h \
+       positive_wcwidth.c positive_wcwidth.h
 am__dirstamp = $(am__leading_dot)dirstamp
-@NO_NCURSES_FALSE@am_fdupes_OBJECTS = fdupes.$(OBJEXT) \
-@NO_NCURSES_FALSE@     fileaction.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-commands.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-getcommand.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-interface.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-print.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-prompt.$(OBJEXT) \
-@NO_NCURSES_FALSE@     ncurses-status.$(OBJEXT) \
-@NO_NCURSES_FALSE@     commandidentifier.$(OBJEXT) \
-@NO_NCURSES_FALSE@     errormsg.$(OBJEXT) wcs.$(OBJEXT) \
-@NO_NCURSES_FALSE@     dir.$(OBJEXT) log.$(OBJEXT) fmatch.$(OBJEXT) \
-@NO_NCURSES_FALSE@     sigint.$(OBJEXT) flags.$(OBJEXT) \
-@NO_NCURSES_FALSE@     confirmmatch.$(OBJEXT) \
-@NO_NCURSES_FALSE@     removeifnotchanged.$(OBJEXT) \
-@NO_NCURSES_FALSE@     mbstowcs_escape_invalid.$(OBJEXT) \
-@NO_NCURSES_FALSE@     positive_wcwidth.$(OBJEXT) md5/md5.$(OBJEXT)
-@NO_NCURSES_TRUE@am_fdupes_OBJECTS = fdupes.$(OBJEXT) \
-@NO_NCURSES_TRUE@      errormsg.$(OBJEXT) dir.$(OBJEXT) \
-@NO_NCURSES_TRUE@      log.$(OBJEXT) fmatch.$(OBJEXT) \
-@NO_NCURSES_TRUE@      sigint.$(OBJEXT) flags.$(OBJEXT) \
-@NO_NCURSES_TRUE@      confirmmatch.$(OBJEXT) \
-@NO_NCURSES_TRUE@      removeifnotchanged.$(OBJEXT) \
-@NO_NCURSES_TRUE@      mbstowcs_escape_invalid.$(OBJEXT) \
-@NO_NCURSES_TRUE@      md5/md5.$(OBJEXT)
+@WITH_NCURSES_TRUE@am__objects_1 = fileaction.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-commands.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-getcommand.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-interface.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-print.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-prompt.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    ncurses-status.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    commandidentifier.$(OBJEXT) wcs.$(OBJEXT) \
+@WITH_NCURSES_TRUE@    positive_wcwidth.$(OBJEXT)
+am_fdupes_OBJECTS = fdupes.$(OBJEXT) errormsg.$(OBJEXT) dir.$(OBJEXT) \
+       log.$(OBJEXT) fmatch.$(OBJEXT) sigint.$(OBJEXT) \
+       flags.$(OBJEXT) confirmmatch.$(OBJEXT) \
+       removeifnotchanged.$(OBJEXT) mbstowcs_escape_invalid.$(OBJEXT) \
+       md5/md5.$(OBJEXT) $(am__objects_1)
 fdupes_OBJECTS = $(am_fdupes_OBJECTS)
 fdupes_LDADD = $(LDADD)
 AM_V_P = $(am__v_P_@AM_V@)
@@ -356,76 +368,13 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-@NO_NCURSES_FALSE@fdupes_SOURCES = fdupes.c\
-@NO_NCURSES_FALSE@ fdupes.h\
-@NO_NCURSES_FALSE@ filegroup.h\
-@NO_NCURSES_FALSE@ fileaction.h\
-@NO_NCURSES_FALSE@ fileaction.c\
-@NO_NCURSES_FALSE@ ncurses-commands.c\
-@NO_NCURSES_FALSE@ ncurses-commands.h\
-@NO_NCURSES_FALSE@ ncurses-getcommand.c\
-@NO_NCURSES_FALSE@ ncurses-getcommand.h\
-@NO_NCURSES_FALSE@ ncurses-interface.c\
-@NO_NCURSES_FALSE@ ncurses-interface.h\
-@NO_NCURSES_FALSE@ ncurses-print.c\
-@NO_NCURSES_FALSE@ ncurses-print.h\
-@NO_NCURSES_FALSE@ ncurses-prompt.c\
-@NO_NCURSES_FALSE@ ncurses-prompt.h\
-@NO_NCURSES_FALSE@ ncurses-status.c\
-@NO_NCURSES_FALSE@ ncurses-status.h\
-@NO_NCURSES_FALSE@ commandidentifier.c\
-@NO_NCURSES_FALSE@ commandidentifier.h\
-@NO_NCURSES_FALSE@ errormsg.c\
-@NO_NCURSES_FALSE@ errormsg.h\
-@NO_NCURSES_FALSE@ wcs.c\
-@NO_NCURSES_FALSE@ wcs.h\
-@NO_NCURSES_FALSE@ dir.c\
-@NO_NCURSES_FALSE@ dir.h\
-@NO_NCURSES_FALSE@ log.c\
-@NO_NCURSES_FALSE@ log.h\
-@NO_NCURSES_FALSE@ fmatch.c\
-@NO_NCURSES_FALSE@ fmatch.h\
-@NO_NCURSES_FALSE@ sigint.c\
-@NO_NCURSES_FALSE@ sigint.h\
-@NO_NCURSES_FALSE@ flags.c\
-@NO_NCURSES_FALSE@ flags.h\
-@NO_NCURSES_FALSE@ confirmmatch.c\
-@NO_NCURSES_FALSE@ confirmmatch.h\
-@NO_NCURSES_FALSE@ removeifnotchanged.c\
-@NO_NCURSES_FALSE@ removeifnotchanged.h\
-@NO_NCURSES_FALSE@ mbstowcs_escape_invalid.c\
-@NO_NCURSES_FALSE@ mbstowcs_escape_invalid.h\
-@NO_NCURSES_FALSE@ positive_wcwidth.c\
-@NO_NCURSES_FALSE@ positive_wcwidth.h\
-@NO_NCURSES_FALSE@ md5/md5.c\
-@NO_NCURSES_FALSE@ md5/md5.h
-
-@NO_NCURSES_TRUE@fdupes_SOURCES = fdupes.c\
-@NO_NCURSES_TRUE@ fdupes.h\
-@NO_NCURSES_TRUE@ errormsg.c\
-@NO_NCURSES_TRUE@ errormsg.h\
-@NO_NCURSES_TRUE@ dir.c\
-@NO_NCURSES_TRUE@ dir.h\
-@NO_NCURSES_TRUE@ log.c\
-@NO_NCURSES_TRUE@ log.h\
-@NO_NCURSES_TRUE@ fmatch.c\
-@NO_NCURSES_TRUE@ fmatch.h\
-@NO_NCURSES_TRUE@ sigint.c\
-@NO_NCURSES_TRUE@ sigint.h\
-@NO_NCURSES_TRUE@ flags.c\
-@NO_NCURSES_TRUE@ flags.h\
-@NO_NCURSES_TRUE@ confirmmatch.c\
-@NO_NCURSES_TRUE@ confirmmatch.h\
-@NO_NCURSES_TRUE@ removeifnotchanged.c\
-@NO_NCURSES_TRUE@ removeifnotchanged.h\
-@NO_NCURSES_TRUE@ mbstowcs_escape_invalid.c\
-@NO_NCURSES_TRUE@ mbstowcs_escape_invalid.h\
-@NO_NCURSES_TRUE@ md5/md5.c\
-@NO_NCURSES_TRUE@ md5/md5.h
-
-@NO_NCURSES_FALSE@dist_man1_MANS = fdupes.1
-@NO_NCURSES_TRUE@dist_man1_MANS = fdupes.1
-@NO_NCURSES_FALSE@dist_man7_MANS = fdupes-help.7
+fdupes_SOURCES = fdupes.c fdupes.h errormsg.c errormsg.h dir.c dir.h \
+       log.c log.h fmatch.c fmatch.h sigint.c sigint.h flags.c \
+       flags.h confirmmatch.c confirmmatch.h removeifnotchanged.c \
+       removeifnotchanged.h mbstowcs_escape_invalid.c \
+       mbstowcs_escape_invalid.h md5/md5.c md5/md5.h $(am__append_1)
+dist_man1_MANS = fdupes.1
+@WITH_NCURSES_TRUE@dist_man7_MANS = fdupes-help.7
 EXTRA_DIST = testdir CHANGES CONTRIBUTORS
 all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-am
index c3ca683..1c038f4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 4c52b3a..6df50cc 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/compile b/compile
index 99e5052..531136b 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -255,8 +255,7 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
-  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -340,9 +339,9 @@ exit $ret
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
 # time-stamp-end: "; # UTC"
 # End:
index 21b4dbc..8ac28b3 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for fdupes 2.2.0.
+# Generated by GNU Autoconf 2.69 for fdupes 2.2.1.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='fdupes'
 PACKAGE_TARNAME='fdupes'
-PACKAGE_VERSION='2.2.0'
-PACKAGE_STRING='fdupes 2.2.0'
+PACKAGE_VERSION='2.2.1'
+PACKAGE_STRING='fdupes 2.2.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -622,8 +622,8 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-NO_NCURSES_FALSE
-NO_NCURSES_TRUE
+WITH_NCURSES_FALSE
+WITH_NCURSES_TRUE
 NCURSES_LIBS
 NCURSES_CFLAGS
 EGREP
@@ -1286,7 +1286,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures fdupes 2.2.0 to adapt to many kinds of systems.
+\`configure' configures fdupes 2.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1353,7 +1353,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fdupes 2.2.0:";;
+     short | recursive ) echo "Configuration of fdupes 2.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1458,7 +1458,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fdupes configure 2.2.0
+fdupes configure 2.2.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1756,7 +1756,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by fdupes $as_me 2.2.0, which was
+It was created by fdupes $as_me 2.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2620,7 +2620,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='fdupes'
- VERSION='2.2.0'
+ VERSION='2.2.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4679,12 +4679,12 @@ $as_echo "#define NO_NCURSES /**/" >>confdefs.h
 
 fi
 
- if test x"$with_ncurses" = x"no"; then
-  NO_NCURSES_TRUE=
-  NO_NCURSES_FALSE='#'
+ if test x"$with_ncurses" != x"no"; then
+  WITH_NCURSES_TRUE=
+  WITH_NCURSES_FALSE='#'
 else
-  NO_NCURSES_TRUE='#'
-  NO_NCURSES_FALSE=
+  WITH_NCURSES_TRUE='#'
+  WITH_NCURSES_FALSE=
 fi
 
 
@@ -5573,8 +5573,8 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${NO_NCURSES_TRUE}" && test -z "${NO_NCURSES_FALSE}"; then
-  as_fn_error $? "conditional \"NO_NCURSES\" was never defined.
+if test -z "${WITH_NCURSES_TRUE}" && test -z "${WITH_NCURSES_FALSE}"; then
+  as_fn_error $? "conditional \"WITH_NCURSES\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
@@ -5978,7 +5978,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by fdupes $as_me 2.2.0, which was
+This file was extended by fdupes $as_me 2.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6044,7 +6044,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-fdupes config.status 2.2.0
+fdupes config.status 2.2.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 6bf937e..4d812af 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([fdupes], [2.2.0])
+AC_INIT([fdupes], [2.2.1])
 
 AM_INIT_AUTOMAKE([foreign subdir-objects])
 
@@ -27,7 +27,7 @@ AS_IF([test x"$with_ncurses" != x"no"],
        [AC_DEFINE([NO_NCURSES], [], [Do not compile against ncurses])]
        )
 
-AM_CONDITIONAL([NO_NCURSES], [test x"$with_ncurses" = x"no"])
+AM_CONDITIONAL([WITH_NCURSES], [test x"$with_ncurses" != x"no"])
 
 unescaped_program_transform_name=`echo "${program_transform_name}"|sed -e "s&\\\\$\\\\$&\\\\$&g"`
 transformed_program_name=`echo "${PACKAGE_NAME}"|sed -e "${unescaped_program_transform_name}"|sed -e "s&\\\\\\\\&\\\\\\\\\\\\\\\\&g"`
diff --git a/depcomp b/depcomp
index 65cbf70..4ebd5b3 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
 # 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
@@ -16,7 +16,7 @@ scriptversion=2018-03-07.03; # UTC
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -783,9 +783,9 @@ exit 0
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/dir.c b/dir.c
index 5fc7a28..0a445b5 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/dir.h b/dir.h
index 7069a65..ffc74f8 100644 (file)
--- a/dir.h
+++ b/dir.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index f4478fc..e21afdf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 93ec246..a2ce002 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index cfc91c2..94bc581 100644 (file)
--- a/fdupes.c
+++ b/fdupes.c
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 1999-2018 Adrian Lopez
+/* FDUPES Copyright (c) 1999-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
@@ -282,7 +282,7 @@ int grokdir(char *dir, file_t **filelistp, struct stat *logfile_status)
       }
 
       /* ignore logfile */
-      if (info.st_dev == logfile_status->st_dev && info.st_ino == logfile_status->st_ino)
+      if (logfile_status != 0 && info.st_dev == logfile_status->st_dev && info.st_ino == logfile_status->st_ino)
       {
         free(newfile->d_name);
         free(newfile);
@@ -1468,16 +1468,16 @@ int main(int argc, char **argv) {
 
     /* F_RECURSE is not set for directories before --recurse: */
     for (x = optind; x < firstrecurse; x++)
-      filecount += grokdir(argv[x], &files, &logfile_status);
+      filecount += grokdir(argv[x], &files, logfile ? &logfile_status : 0);
 
     /* Set F_RECURSE for directories after --recurse: */
     SETFLAG(flags, F_RECURSE);
 
     for (x = firstrecurse; x < argc; x++)
-      filecount += grokdir(argv[x], &files, &logfile_status);
+      filecount += grokdir(argv[x], &files, logfile ? &logfile_status : 0);
   } else {
     for (x = optind; x < argc; x++)
-      filecount += grokdir(argv[x], &files, &logfile_status);
+      filecount += grokdir(argv[x], &files, logfile ? &logfile_status : 0);
   }
 
   if (!files) {
index 1f5d0fd..4788952 100644 (file)
--- a/fdupes.h
+++ b/fdupes.h
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index ad3c880..640da51 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 3453d33..fe11c62 100644 (file)
--- a/fmatch.c
+++ b/fmatch.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 233503c..5636a23 100644 (file)
--- a/fmatch.h
+++ b/fmatch.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 8175c64..377bb86 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2018-03-11.20; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,15 +41,19 @@ scriptversion=2018-03-11.20; # UTC
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
-tab='  '
 nl='
 '
-IFS=" $tab$nl"
+IFS=" ""       $nl"
 
-# Set DOITPROG to "echo" to test this script.
+# set DOITPROG to echo to test this script
 
+# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-doit_exec=${doit:-exec}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -64,6 +68,17 @@ mvprog=${MVPROG-mv}
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -82,7 +97,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-is_target_a_directory=possibly
+no_target_directory=
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -122,57 +137,46 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-        shift;;
+       shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-        case $mode in
-          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
-            echo "$0: invalid mode: $mode" >&2
-            exit 1;;
-        esac
-        shift;;
+       case $mode in
+         *' '* | *'    '* | *'
+'*       | *'*'* | *'?'* | *'['*)
+           echo "$0: invalid mode: $mode" >&2
+           exit 1;;
+       esac
+       shift;;
 
     -o) chowncmd="$chownprog $2"
-        shift;;
+       shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t)
-        is_target_a_directory=always
-        dst_arg=$2
-        # Protect names problematic for 'test' and other utilities.
-        case $dst_arg in
-          -* | [=\(\)!]) dst_arg=./$dst_arg;;
-        esac
-        shift;;
+    -t) dst_arg=$2
+       # Protect names problematic for 'test' and other utilities.
+       case $dst_arg in
+         -* | [=\(\)!]) dst_arg=./$dst_arg;;
+       esac
+       shift;;
 
-    -T) is_target_a_directory=never;;
+    -T) no_target_directory=true;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --) shift
-        break;;
+    --)        shift
+       break;;
 
-    -*) echo "$0: invalid option: $1" >&2
-        exit 1;;
+    -*)        echo "$0: invalid option: $1" >&2
+       exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
-# We allow the use of options -d and -T together, by making -d
-# take the precedence; this is for compatibility with GNU install.
-
-if test -n "$dir_arg"; then
-  if test -n "$dst_arg"; then
-    echo "$0: target directory not allowed when installing a directory." >&2
-    exit 1
-  fi
-fi
-
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -204,15 +208,6 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
-  if test $# -gt 1 || test "$is_target_a_directory" = always; then
-    if test ! -d "$dst_arg"; then
-      echo "$0: $dst_arg: Is not a directory." >&2
-      exit 1
-    fi
-  fi
-fi
-
-if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -228,16 +223,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-        u_plus_rw=
+       u_plus_rw=
       else
-        u_plus_rw='% 200'
+       u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-        u_plus_rw=
+       u_plus_rw=
       else
-        u_plus_rw=,u+rw
+       u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -271,113 +266,122 @@ do
     fi
     dst=$dst_arg
 
-    # If destination is a directory, append the input filename.
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test "$is_target_a_directory" = never; then
-        echo "$0: $dst_arg: Is a directory" >&2
-        exit 1
+      if test -n "$no_target_directory"; then
+       echo "$0: $dst_arg: Is a directory" >&2
+       exit 1
       fi
       dstdir=$dst
-      dstbase=`basename "$src"`
-      case $dst in
-       */) dst=$dst$dstbase;;
-       *)  dst=$dst/$dstbase;;
-      esac
+      dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      dstdir=`dirname "$dst"`
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+       (dirname "$dst") 2>/dev/null ||
+       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+            X"$dst" : 'X\(//\)[^/]' \| \
+            X"$dst" : 'X\(//\)$' \| \
+            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+       echo X"$dst" |
+           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)[^/].*/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\).*/{
+                  s//\1/
+                  q
+                }
+                s/.*/./; q'
+      `
+
       test -d "$dstdir"
       dstdir_status=$?
     fi
   fi
 
-  case $dstdir in
-    */) dstdirslash=$dstdir;;
-    *)  dstdirslash=$dstdir/;;
-  esac
-
   obsolete_mkdir_used=false
 
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-        # Create intermediate dirs using mode 755 as modified by the umask.
-        # This is like FreeBSD 'install' as of 1997-10-28.
-        umask=`umask`
-        case $stripcmd.$umask in
-          # Optimize common cases.
-          *[2367][2367]) mkdir_umask=$umask;;
-          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-          *[0-7])
-            mkdir_umask=`expr $umask + 22 \
-              - $umask % 100 % 40 + $umask % 20 \
-              - $umask % 10 % 4 + $umask % 2
-            `;;
-          *) mkdir_umask=$umask,go-w;;
-        esac
-
-        # With -d, create the new directory with the user-specified mode.
-        # Otherwise, rely on $mkdir_umask.
-        if test -n "$dir_arg"; then
-          mkdir_mode=-m$mode
-        else
-          mkdir_mode=
-        fi
-
-        posix_mkdir=false
-        case $umask in
-          *[123567][0-7][0-7])
-            # POSIX mkdir -p sets u+wx bits regardless of umask, which
-            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-            ;;
-          *)
-            # Note that $RANDOM variable is not portable (e.g. dash);  Use it
-            # here however when possible just to lower collision chance.
-            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-
-            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-            # Because "mkdir -p" follows existing symlinks and we likely work
-            # directly in world-writeable /tmp, make sure that the '$tmpdir'
-            # directory is successfully created first before we actually test
-            # 'mkdir -p' feature.
-            if (umask $mkdir_umask &&
-                $mkdirprog $mkdir_mode "$tmpdir" &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
-            then
-              if test -z "$dir_arg" || {
-                   # Check for POSIX incompatibilities with -m.
-                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                   # other-writable bit of parent directory when it shouldn't.
-                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   test_tmpdir="$tmpdir/a"
-                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
-                   case $ls_ld_tmpdir in
-                     d????-?r-*) different_mode=700;;
-                     d????-?--*) different_mode=755;;
-                     *) false;;
-                   esac &&
-                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
-                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                   }
-                 }
-              then posix_mkdir=:
-              fi
-              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
-            else
-              # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
-            fi
-            trap '' 0;;
-        esac;;
+       # Create intermediate dirs using mode 755 as modified by the umask.
+       # This is like FreeBSD 'install' as of 1997-10-28.
+       umask=`umask`
+       case $stripcmd.$umask in
+         # Optimize common cases.
+         *[2367][2367]) mkdir_umask=$umask;;
+         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+         *[0-7])
+           mkdir_umask=`expr $umask + 22 \
+             - $umask % 100 % 40 + $umask % 20 \
+             - $umask % 10 % 4 + $umask % 2
+           `;;
+         *) mkdir_umask=$umask,go-w;;
+       esac
+
+       # With -d, create the new directory with the user-specified mode.
+       # Otherwise, rely on $mkdir_umask.
+       if test -n "$dir_arg"; then
+         mkdir_mode=-m$mode
+       else
+         mkdir_mode=
+       fi
+
+       posix_mkdir=false
+       case $umask in
+         *[123567][0-7][0-7])
+           # POSIX mkdir -p sets u+wx bits regardless of umask, which
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+           if (umask $mkdir_umask &&
+               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+             rmdir "$tmpdir/d" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;
     esac
 
     if
       $posix_mkdir && (
-        umask $mkdir_umask &&
-        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+       umask $mkdir_umask &&
+       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -387,51 +391,53 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-        /*) prefix='/';;
-        [-=\(\)!]*) prefix='./';;
-        *)  prefix='';;
+       /*) prefix='/';;
+       [-=\(\)!]*) prefix='./';;
+       *)  prefix='';;
       esac
 
+      eval "$initialize_posix_glob"
+
       oIFS=$IFS
       IFS=/
-      set -f
+      $posix_glob set -f
       set fnord $dstdir
       shift
-      set +f
+      $posix_glob set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-        test X"$d" = X && continue
-
-        prefix=$prefix$d
-        if test -d "$prefix"; then
-          prefixes=
-        else
-          if $posix_mkdir; then
-            (umask=$mkdir_umask &&
-             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-            # Don't fail if two instances are running concurrently.
-            test -d "$prefix" || exit 1
-          else
-            case $prefix in
-              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-              *) qprefix=$prefix;;
-            esac
-            prefixes="$prefixes '$qprefix'"
-          fi
-        fi
-        prefix=$prefix/
+       test X"$d" = X && continue
+
+       prefix=$prefix$d
+       if test -d "$prefix"; then
+         prefixes=
+       else
+         if $posix_mkdir; then
+           (umask=$mkdir_umask &&
+            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+           # Don't fail if two instances are running concurrently.
+           test -d "$prefix" || exit 1
+         else
+           case $prefix in
+             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+             *) qprefix=$prefix;;
+           esac
+           prefixes="$prefixes '$qprefix'"
+         fi
+       fi
+       prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-        # Don't fail if two instances are running concurrently.
-        (umask $mkdir_umask &&
-         eval "\$doit_exec \$mkdirprog $prefixes") ||
-          test -d "$dstdir" || exit 1
-        obsolete_mkdir_used=true
+       # Don't fail if two instances are running concurrently.
+       (umask $mkdir_umask &&
+        eval "\$doit_exec \$mkdirprog $prefixes") ||
+         test -d "$dstdir" || exit 1
+       obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -444,8 +450,8 @@ do
   else
 
     # Make a couple of temp file names in the proper directory.
-    dsttmp=${dstdirslash}_inst.$$_
-    rmtmp=${dstdirslash}_rm.$$_
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
@@ -466,12 +472,15 @@ do
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
-       set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       set +f &&
+       $posix_glob set +f &&
+
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -484,24 +493,24 @@ do
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-        # Now remove or move aside any old file at destination location.
-        # We try this two ways since rm can't unlink itself on some
-        # systems and the destination file might be busy for other
-        # reasons.  In this case, the final cleanup might fail but the new
-        # file should still install successfully.
-        {
-          test ! -f "$dst" ||
-          $doit $rmcmd -f "$dst" 2>/dev/null ||
-          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-          } ||
-          { echo "$0: cannot unlink or rename $dst" >&2
-            (exit 1); exit 1
-          }
-        } &&
-
-        # Now rename the file to the real destination.
-        $doit $mvcmd "$dsttmp" "$dst"
+       # Now remove or move aside any old file at destination location.
+       # We try this two ways since rm can't unlink itself on some
+       # systems and the destination file might be busy for other
+       # reasons.  In this case, the final cleanup might fail but the new
+       # file should still install successfully.
+       {
+         test ! -f "$dst" ||
+         $doit $rmcmd -f "$dst" 2>/dev/null ||
+         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+         } ||
+         { echo "$0: cannot unlink or rename $dst" >&2
+           (exit 1); exit 1
+         }
+       } &&
+
+       # Now rename the file to the real destination.
+       $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
@@ -510,9 +519,9 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/log.c b/log.c
index 71cf7d9..b5f16e8 100644 (file)
--- a/log.c
+++ b/log.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/log.h b/log.h
index ed6ff82..d4c17e5 100644 (file)
--- a/log.h
+++ b/log.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 8d03a7b..5964e8f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2019 Adrian Lopez
+/* Copyright (c) 2019-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index ed48413..f1ba014 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2019 Adrian Lopez
+/* Copyright (c) 2019-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/missing b/missing
index 625aeb1..f62bbae 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -101,9 +101,9 @@ else
   exit $st
 fi
 
-perl_URL=https://www.perl.org/
-flex_URL=https://github.com/westes/flex
-gnu_software_URL=https://www.gnu.org/software
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
 
 program_details ()
 {
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
 exit $st
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
 # time-stamp-end: "; # UTC"
 # End:
index c8f401a..e1224a4 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 88057fb..99c22af 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 24e94b3..fd8c7e3 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index f9a17eb..9a06917 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 5b1a450..4380ad0 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index b61cc26..a2f5805 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 2a877bd..7366529 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 3b0474e..0efc2ef 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 0db22ac..7ee03b6 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index d67afdd..f7f9e29 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index a209949..1afb284 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 70b37dd..8bdcc68 100644 (file)
@@ -1,4 +1,4 @@
-/* FDUPES Copyright (c) 2018 Adrian Lopez
+/* FDUPES Copyright (c) 2018-2022 Adrian Lopez
 
    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation files
index 64ed385..83de8fa 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2019 Adrian Lopez
+/* Copyright (c) 2019-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index fd012c0..7fed0fe 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2019 Adrian Lopez
+/* Copyright (c) 2019-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 1d9a481..0a17473 100644 (file)
--- a/sigint.c
+++ b/sigint.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
index 8ceb6b3..9b7eb2e 100644 (file)
--- a/sigint.h
+++ b/sigint.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/wcs.c b/wcs.c
index 0a68d19..30475b0 100644 (file)
--- a/wcs.c
+++ b/wcs.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
diff --git a/wcs.h b/wcs.h
index 2065b9c..bfdb78b 100644 (file)
--- a/wcs.h
+++ b/wcs.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018 Adrian Lopez
+/* Copyright (c) 2018-2022 Adrian Lopez
 
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages