1 2 3 4 5 6 7 8 9 10 11 12
/* ISC license. */ #include <sys/types.h> #include <errno.h> #include <skalibs/allreadwrite.h> #include <skalibs/error.h> ssize_t sanitize_read (ssize_t r) { return r == -1 ? error_isagain(errno) ? (errno = 0, 0) : -1 : !r ? (errno = EPIPE, -1) : r ; }