commit 9964840c291e46a0e001d930e2dd2fb0e1b16967
parent 4f0ff15709ee9f0f025858ac85ec21a9d955e88e
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date: Thu, 6 Jul 2023 14:54:18 +0000
More jjk fixes
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat:
9 files changed, 52 insertions(+), 19 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 ;
}