diff options
author | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-11-23 14:13:52 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-11-23 23:00:58 +0100 |
commit | d9a5736bdfa9db29e94c5431bb8a9bc92a24585c (patch) | |
tree | 59095ed17fac70631b1135101f3e98c583363b2d /lib/util/fopenat.c | |
parent | c14c3c0173d7bebeb3ccac687e49909164845d57 (diff) |
Remove some no longer needed cruft
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Diffstat (limited to 'lib/util/fopenat.c')
-rw-r--r-- | lib/util/fopenat.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/lib/util/fopenat.c b/lib/util/fopenat.c deleted file mode 100644 index d47c002..0000000 --- a/lib/util/fopenat.c +++ /dev/null @@ -1,54 +0,0 @@ -/* SPDX-License-Identifier: ISC */ -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <fcntl.h> -#include <stdio.h> -#include <errno.h> - -#include "util.h" - -FILE *fopenat(int dirfd, const char *filename, const char *mode) -{ - const char *ptr = mode; - int fd, flags = 0; - FILE *fp; - - switch (*(ptr++)) { - case 'r': - flags = O_RDONLY; - break; - case 'w': - flags = O_WRONLY | O_CREAT | O_TRUNC; - break; - case 'a': - flags = O_WRONLY | O_CREAT | O_APPEND; - break; - default: - errno = EINVAL; - return NULL; - } - - if (*ptr == '+') { - flags = (flags & ~(O_RDONLY | O_WRONLY)) | O_RDWR; - ++ptr; - } - - if (*ptr == 'b') - ++ptr; - - if (*ptr != '\0') { - errno = EINVAL; - return NULL; - } - - fd = openat(dirfd, filename, flags, 0644); - if (fd == -1) - return NULL; - - fp = fdopen(fd, mode); - if (fp == NULL) - close(fd); - - return fp; -} |