diff options
Diffstat (limited to 'src/io.c')
-rw-r--r-- | src/io.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/io.c b/src/io.c deleted file mode 100644 index 565b1ac..0000000 --- a/src/io.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2008, Brian Cully <bjc@kublai.com> - */ - -#include "io.h" -#include "log.h" - -#include <errno.h> -#include <sys/types.h> -#include <sys/uio.h> -#include <unistd.h> - -int -restartable_read(unsigned char *buf, size_t buflen) -{ - ssize_t rc, readb; - - rc = 0; - READLOOP: - while (rc < buflen) { - readb = read(STDIN_FILENO, buf + rc, buflen - rc); - if (readb == -1) { - if (errno == EAGAIN || errno == EINTR) - goto READLOOP; - - return -1; - } else if (readb == 0) { - return -1; - } - - rc += readb; - } - - return rc; -} - -int -restartable_write(const unsigned char *buf, size_t buflen) -{ - ssize_t rc, wroteb; - - rc = 0; - WRITELOOP: - while (rc < buflen) { - wroteb = write(STDOUT_FILENO, buf + rc, buflen - rc); - if (wroteb == -1) { - if (errno == EAGAIN || errno == EINTR) - goto WRITELOOP; - - return -1; - } - - rc += wroteb; - } - - return rc; -} |