diff options
Diffstat (limited to 'src/libunixonacid/openc_writeatb.c')
-rw-r--r-- | src/libunixonacid/openc_writeatb.c | 8 |
1 files changed, 6 insertions, 2 deletions
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 ; } |