Eric Blake <ebb9 <at> byu.net> writes: > I noticed these while working towards improving link-warning over to > compile warnings.
And one more: From: Eric Blake <e...@byu.net> Date: Thu, 31 Dec 2009 13:43:28 -0700 Subject: [PATCH 1/2] test-dup2: avoid compiler warning A warning cropped up from the 2009-12-28 change, when not using cloexec. * tests/test-dup2.c (is_inheritable): Only define if used. Signed-off-by: Eric Blake <e...@byu.net> --- ChangeLog | 3 +++ tests/test-dup2.c | 14 ++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 151b605..ad2f23e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2009-12-31 Eric Blake <e...@byu.net> + test-dup2: avoid compiler warning + * tests/test-dup2.c (is_inheritable): Only define if used. + utimens: avoid shadowing warning * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat buffers into one, to avoid shadowing, as well as avoiding a diff --git a/tests/test-dup2.c b/tests/test-dup2.c index b65fcad..eddf5ae 100644 --- a/tests/test-dup2.c +++ b/tests/test-dup2.c @@ -57,11 +57,12 @@ is_open (int fd) #endif } +#if GNULIB_CLOEXEC /* Return non-zero if FD is open and inheritable across exec/spawn. */ static int is_inheritable (int fd) { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On Win32, the initial state of unassigned standard file descriptors is that they are open but point to an INVALID_HANDLE_VALUE, and there is no fcntl. */ @@ -70,14 +71,15 @@ is_inheritable (int fd) if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0) return 0; return (flags & HANDLE_FLAG_INHERIT) != 0; -#else -# ifndef F_GETFD -# error Please port fcntl to your platform -# endif +# else +# ifndef F_GETFD +# error Please port fcntl to your platform +# endif int i = fcntl (fd, F_GETFD); return 0 <= i && (i & FD_CLOEXEC) == 0; -#endif +# endif } +#endif /* GNULIB_CLOEXEC */ #if !O_BINARY # define setmode(f,m) zero () -- 1.6.4.2