diff options
Diffstat (limited to 'assuan/assuan-buffer.c')
-rw-r--r-- | assuan/assuan-buffer.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/assuan/assuan-buffer.c b/assuan/assuan-buffer.c index bd0881743..e349a692b 100644 --- a/assuan/assuan-buffer.c +++ b/assuan/assuan-buffer.c @@ -25,7 +25,9 @@ #include <errno.h> #include <unistd.h> #include <assert.h> - +#ifdef USE_GNU_PTH +# include <pth.h> +#endif #include "assuan-defs.h" @@ -34,7 +36,11 @@ writen ( int fd, const char *buffer, size_t length ) { while (length) { +#ifdef USE_GNU_PTH + int nwritten = pth_write (fd, buffer, length); +#else int nwritten = write (fd, buffer, length); +#endif if (nwritten < 0) { @@ -59,7 +65,11 @@ readline (int fd, char *buf, size_t buflen, int *r_nread, int *eof) *r_nread = 0; while (nleft > 0) { +#ifdef USE_GNU_PTH + int n = pth_read (fd, buf, nleft); +#else int n = read (fd, buf, nleft); +#endif if (n < 0) { if (errno == EINTR) |