Subject: bug#6051: 4 small patches: traps, unnecessary #if HAVE_HEADER_H, factor doc

From: Jim Meyering <[email-masked]>
Date: Tue, 27 Apr 2010 14:02:33 +0200

FYI, just pushed:
[I have a syntax-check that prompted #2 and #3.
 coming soon to gnulib. ]

>From 301c74865ef13a11e303a2320743b2997bb568e7 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sat, 24 Apr 2010 15:50:41 +0200
Subject: [PATCH 1/4] tests: clean up also upon SIGQUIT

* tests/test-lib.sh: Also trap on SIGQUIT.
Spotted by Dmitry V. Levin.
---
 tests/test-lib.sh |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tests/test-lib.sh b/tests/test-lib.sh
index 8bf5601..a62857b 100644
--- a/tests/test-lib.sh
+++ b/tests/test-lib.sh
@@ -410,6 +410,7 @@ remove_tmp_()
 trap remove_tmp_ 0
 trap 'Exit 129' 1
 trap 'Exit 130' 2
+trap 'Exit 131' 3
 trap 'Exit 141' 13
 trap 'Exit 143' 15

--
1.7.1.328.g9993c

>From a4ab8d9c55f4e3c9aac7859e85545e769b43f256 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sat, 24 Apr 2010 17:16:56 +0200
Subject: [PATCH 2/4] build: enable gnulib modules for more replacement headers

* bootstrap.conf (gnulib_modules): Add the following:
netinet_in, sys_ioctl, sys_wait, so that we can eliminate
the #if HAVE_<header>_H tests guarding their header inclusions.
---
 bootstrap.conf |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index 55b2f60..caa2b1a 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -159,6 +159,7 @@ gnulib_modules="
   modechange
   mountlist
   mpsort
+  netinet_in
   nproc
   obstack
   pathmax
@@ -210,7 +211,9 @@ gnulib_modules="
   strtoimax
   strtoumax
   symlink
+  sys_ioctl
   sys_stat
+  sys_wait
   timespec
   tzset
   uname
--
1.7.1.328.g9993c

>From 2191fe8f8d84e39f8c4b861cde28d395639393e1 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sat, 24 Apr 2010 17:38:13 +0200
Subject: [PATCH 3/4] maint: remove now-unnecessary #if HAVE_header_H tests.

* .x-sc_prohibit_always_true_header_tests: New file.
* Makefile.am (syntax_check_exceptions): Add it.
* src/cat.c: Remove #if HAVE_SYS_IOCTL_H test.
* src/copy.c: Likewise.
* src/ls.c: Likewise.
* src/stty.c: Likewise.
* src/install.c: Remove #if HAVE_SYS_WAIT_H test.
* src/kill.c: Likewise.
* src/operand2sig.c: Likewise.
* src/timeout.c: Likewise.
* src/pathchk.c: Remove #if HAVE_WCHAR_H test.
* src/stat.c: Remove #if HAVE_NETINET_IN_H test.
---
 .x-sc_prohibit_always_true_header_tests |    2 ++
 Makefile.am                             |    1 +
 src/cat.c                               |    4 +---
 src/copy.c                              |    4 +---
 src/install.c                           |    4 +---
 src/kill.c                              |    4 +---
 src/ls.c                                |    4 +---
 src/operand2sig.c                       |    4 +---
 src/pathchk.c                           |    4 +---
 src/stat.c                              |    2 +-
 src/stty.c                              |    4 +---
 src/timeout.c                           |    4 +---
 12 files changed, 13 insertions(+), 28 deletions(-)
 create mode 100644 .x-sc_prohibit_always_true_header_tests

diff --git a/.x-sc_prohibit_always_true_header_tests b/.x-sc_prohibit_always_true_header_tests
new file mode 100644
index 0000000..732d9ec
--- /dev/null
+++ b/.x-sc_prohibit_always_true_header_tests
@@ -0,0 +1,2 @@
+^m4/stat-prog\.m4$
+ChangeLog
diff --git a/Makefile.am b/Makefile.am
index 9a7f45c..83c28b3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -59,6 +59,7 @@ syntax_check_exceptions =		\
   .x-sc_sun_os_names			\
   .x-sc_system_h_headers		\
   .x-sc_trailing_blank			\
+  .x-sc_prohibit_always_true_header_tests \
   .x-sc_unmarked_diagnostics		\
   .x-sc_useless_cpp_parens

diff --git a/src/cat.c b/src/cat.c
index c33e0b3..8740e0e 100644
--- a/src/cat.c
+++ b/src/cat.c
@@ -30,9 +30,7 @@
 #if HAVE_STROPTS_H
 # include <stropts.h>
 #endif
-#if HAVE_SYS_IOCTL_H
-# include <sys/ioctl.h>
-#endif
+#include <sys/ioctl.h>

 #include "system.h"
 #include "error.h"
diff --git a/src/copy.c b/src/copy.c
index d18fd45..c16cef6 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -61,9 +61,7 @@
 # include "verror.h"
 #endif

-#if HAVE_SYS_IOCTL_H
-# include <sys/ioctl.h>
-#endif
+#include <sys/ioctl.h>

 #ifndef HAVE_FCHOWN
 # define HAVE_FCHOWN false
diff --git a/src/install.c b/src/install.c
index bac5c7c..038e869 100644
--- a/src/install.c
+++ b/src/install.c
@@ -48,9 +48,7 @@

 #define AUTHORS proper_name ("David MacKenzie")

-#if HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
+#include <sys/wait.h>

 static int selinux_enabled = 0;
 static bool use_default_selinux_context = true;
diff --git a/src/kill.c b/src/kill.c
index dab4fa8..09d2808 100644
--- a/src/kill.c
+++ b/src/kill.c
@@ -22,9 +22,7 @@
 #include <sys/types.h>
 #include <signal.h>

-#if HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
+#include <sys/wait.h>
 #ifndef WIFSIGNALED
 # define WIFSIGNALED(s) (((s) & 0xFFFF) - 1 < (unsigned int) 0xFF)
 #endif
diff --git a/src/ls.c b/src/ls.c
index 6bd680e..ca09ead 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -45,9 +45,7 @@
 #if HAVE_STROPTS_H
 # include <stropts.h>
 #endif
-#if HAVE_SYS_IOCTL_H
-# include <sys/ioctl.h>
-#endif
+#include <sys/ioctl.h>

 #ifdef WINSIZE_IN_PTEM
 # include <sys/stream.h>
diff --git a/src/operand2sig.c b/src/operand2sig.c
index 5b26a75..d0500cd 100644
--- a/src/operand2sig.c
+++ b/src/operand2sig.c
@@ -25,9 +25,7 @@
 #include <stdio.h>
 #include <sys/types.h>

-#if HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
+#include <sys/wait.h>
 #ifndef WIFSIGNALED
 # define WIFSIGNALED(s) (((s) & 0xFFFF) - 1 < (unsigned int) 0xFF)
 #endif
diff --git a/src/pathchk.c b/src/pathchk.c
index d9f6c0a..62c2094 100644
--- a/src/pathchk.c
+++ b/src/pathchk.c
@@ -18,9 +18,7 @@
 #include <stdio.h>
 #include <getopt.h>
 #include <sys/types.h>
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
+#include <wchar.h>

 #include "system.h"
 #include "error.h"
diff --git a/src/stat.c b/src/stat.c
index 5063e70..e6de541 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -44,7 +44,7 @@
 /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
 # include <sys/param.h>
 # include <sys/mount.h>
-# if HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
+# if HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
 /* Ultrix 4.4 needs these for the declaration of struct statfs.  */
 #  include <netinet/in.h>
 #  include <nfs/nfs_clnt.h>
diff --git a/src/stty.c b/src/stty.c
index 8c6920f..71045c2 100644
--- a/src/stty.c
+++ b/src/stty.c
@@ -42,9 +42,7 @@
 #if HAVE_STROPTS_H
 # include <stropts.h>
 #endif
-#ifdef HAVE_SYS_IOCTL_H
-# include <sys/ioctl.h>
-#endif
+#include <sys/ioctl.h>

 #ifdef WINSIZE_IN_PTEM
 # include <sys/stream.h>
diff --git a/src/timeout.c b/src/timeout.c
index d1ea06d..c6f6525 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -49,10 +49,8 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include <signal.h>
+#include <sys/wait.h>

-#if HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
 #ifndef WIFSIGNALED
 # define WIFSIGNALED(s) (((s) & 0xFFFF) - 1 < (unsigned int) 0xFF)
 #endif
--
1.7.1.328.g9993c

>From 83e4f0ca0224e9d3f628d6f1364ce49393a7af04 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sun, 25 Apr 2010 10:35:51 +0200
Subject: [PATCH 4/4] doc: tweak factor-describing wording

* doc/coreutils.texi (factor invocation): Don't say that "factoring
large prime numbers is hard".  A pedant might ding you, since it's
trivial to factor a number that is known to be prime.  Instead, say
that "factoring large numbers... is hard".  Reported by Andreas Eder.
---
 doc/coreutils.texi |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index f40993e..73971c6 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -15470,7 +15470,7 @@ factor invocation
 Similarly, factoring the eighth Fermat number @math{2^{256}+1} takes
 about 20 seconds on the same machine.

-Factoring large prime numbers is, in general, hard.  The Pollard Rho
+Factoring large numbers is, in general, hard.  The Pollard Rho
 algorithm used by @command{factor} is particularly effective for
 numbers with relatively small factors.  If you wish to factor large
 numbers which do not have small factors (for example, numbers which
--
1.7.1.328.g9993c