diff options
author | Bruno Haible <bruno@clisp.org> | 2009-12-07 01:02:50 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-12-07 01:02:50 +0100 |
commit | 68145a074c0cdc9eff8364a62530da01a5f39bcd (patch) | |
tree | 5755726b04032864996b7d4ef1e1d53473f448cd /lib/cloexec.c | |
parent | 3941f59cb92c262e98b3e554baf4b8921113e1d1 (diff) | |
download | gnulib-68145a074c0cdc9eff8364a62530da01a5f39bcd.tar.gz |
cloexec: Fix possible compilation error.
Diffstat (limited to 'lib/cloexec.c')
-rw-r--r-- | lib/cloexec.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/cloexec.c b/lib/cloexec.c index b862cc6da3..5479477e51 100644 --- a/lib/cloexec.c +++ b/lib/cloexec.c @@ -79,7 +79,8 @@ set_cloexec_flag (int desc, bool value) prior to exec or spawn. Returns -1 and sets errno if FD could not be duplicated. */ -int dup_cloexec (int fd) +int +dup_cloexec (int fd) { int nfd; @@ -107,6 +108,7 @@ int dup_cloexec (int fd) FALSE, /* InheritHandle */ DUPLICATE_SAME_ACCESS)) /* Options */ { + /* TODO: Translate GetLastError () into errno. */ errno = EMFILE; return -1; } @@ -133,12 +135,12 @@ int dup_cloexec (int fd) nfd = fcntl (fd, F_DUPFD_CLOEXEC, 0); # if REPLACE_FCHDIR if (0 <= nfd) - result = _gl_register_dup (fd, nfd); + nfd = _gl_register_dup (fd, nfd); # endif # else /* !F_DUPFD_CLOEXEC */ nfd = dup (fd); - if (0 <= nfd && set_cloexec_flag (nfd, true)) + if (0 <= nfd && set_cloexec_flag (nfd, true) < 0) { int saved_errno = errno; close (nfd); |