summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstddjb/fd_ensure_open.c7
-rw-r--r--src/libunixonacid/open_appendatb.c8
-rw-r--r--src/libunixonacid/open_readatb.c8
-rw-r--r--src/libunixonacid/open_truncatb.c8
-rw-r--r--src/libunixonacid/open_writeatb.c8
-rw-r--r--src/libunixonacid/openc_appendatb.c8
-rw-r--r--src/libunixonacid/openc_readatb.c8
-rw-r--r--src/libunixonacid/openc_truncatb.c8
-rw-r--r--src/libunixonacid/openc_writeatb.c8
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 ;
}