diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libstddjb/fd_ensure_open.c | 7 | ||||
-rw-r--r-- | src/libunixonacid/open_appendatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/open_readatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/open_truncatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/open_writeatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/openc_appendatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/openc_readatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/openc_truncatb.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/openc_writeatb.c | 8 |
9 files changed, 52 insertions, 19 deletions
diff --git a/src/libstddjb/fd_ensure_open.c b/src/libstddjb/fd_ensure_open.c index c42c90e..4c1b63c 100644 --- a/src/libstddjb/fd_ensure_open.c +++ b/src/libstddjb/fd_ensure_open.c @@ -2,18 +2,19 @@ #include <errno.h> #include <fcntl.h> + #include <skalibs/djbunix.h> int fd_ensure_open (int fd, int w) { int dummy ; - if (fcntl(fd, F_GETFD, &dummy) < 0) + if (fcntl(fd, F_GETFD, &dummy) == -1) { int newfd ; if (errno != EBADF) return 0 ; newfd = open2("/dev/null", w ? O_WRONLY : O_RDONLY) ; - if (newfd < 0) return 0 ; - if (fd_move(fd, newfd) < 0) + if (newfd == -1) return 0 ; + if (fd_move(fd, newfd) == -1) { fd_close(newfd) ; return 0 ; diff --git a/src/libunixonacid/open_appendatb.c b/src/libunixonacid/open_appendatb.c index 5a75120..8315256 100644 --- a/src/libunixonacid/open_appendatb.c +++ b/src/libunixonacid/open_appendatb.c @@ -6,7 +6,11 @@ int open_appendatb (int dirfd, char const *name) { int fd = open_appendat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/open_readatb.c b/src/libunixonacid/open_readatb.c index 6e4cd0f..9d9ed26 100644 --- a/src/libunixonacid/open_readatb.c +++ b/src/libunixonacid/open_readatb.c @@ -6,7 +6,11 @@ int open_readatb (int dirfd, char const *name) { int fd = open_readat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/open_truncatb.c b/src/libunixonacid/open_truncatb.c index fc4d685..26c2ac7 100644 --- a/src/libunixonacid/open_truncatb.c +++ b/src/libunixonacid/open_truncatb.c @@ -6,7 +6,11 @@ int open_truncatb (int dirfd, char const *name) { int fd = open_truncat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/open_writeatb.c b/src/libunixonacid/open_writeatb.c index fd75365..46649e8 100644 --- a/src/libunixonacid/open_writeatb.c +++ b/src/libunixonacid/open_writeatb.c @@ -6,7 +6,11 @@ int open_writeatb (int dirfd, char const *name) { int fd = open_writeat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/openc_appendatb.c b/src/libunixonacid/openc_appendatb.c index 066e695..88db718 100644 --- a/src/libunixonacid/openc_appendatb.c +++ b/src/libunixonacid/openc_appendatb.c @@ -6,7 +6,11 @@ int openc_appendatb (int dirfd, char const *name) { int fd = openc_appendat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/openc_readatb.c b/src/libunixonacid/openc_readatb.c index 4da65ab..50823d3 100644 --- a/src/libunixonacid/openc_readatb.c +++ b/src/libunixonacid/openc_readatb.c @@ -6,7 +6,11 @@ int openc_readatb (int dirfd, char const *name) { int fd = openc_readat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/openc_truncatb.c b/src/libunixonacid/openc_truncatb.c index a791790..3d52f4d 100644 --- a/src/libunixonacid/openc_truncatb.c +++ b/src/libunixonacid/openc_truncatb.c @@ -6,7 +6,11 @@ int openc_truncatb (int dirfd, char const *name) { int fd = openc_truncat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } diff --git a/src/libunixonacid/openc_writeatb.c b/src/libunixonacid/openc_writeatb.c index daa1fe8..5b9408c 100644 --- a/src/libunixonacid/openc_writeatb.c +++ b/src/libunixonacid/openc_writeatb.c @@ -6,7 +6,11 @@ int openc_writeatb (int dirfd, char const *name) { int fd = openc_writeat(dirfd, name) ; - if (fd < 0) return -1 ; - if (ndelay_off(fd) < 0) return -1 ; + if (fd == -1) return -1 ; + if (ndelay_off(fd) == -1) + { + fd_close(fd) ; + return -1 ; + } return fd ; } |