Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7822:5abe05d7d093 HEAD
HP-UX: pread() and pwrite() are broken, use our own implementation.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 12 Jun 2008 00:01:21 +0300 |
parents | 654cd4d966be |
children | b13dca205eaa |
files | configure.in src/lib/compat.c src/lib/compat.h |
diffstat | 3 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.in Wed Jun 11 23:55:36 2008 +0300 +++ b/configure.in Thu Jun 12 00:01:21 2008 +0300 @@ -613,6 +613,7 @@ case "$host_os" in hpux*) CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" + AC_DEFINE(PREAD_BROKEN,, Defint if pread/pwrite implementation is broken) ;; *) ;;
--- a/src/lib/compat.c Wed Jun 11 23:55:36 2008 +0300 +++ b/src/lib/compat.c Thu Jun 12 00:01:21 2008 +0300 @@ -107,7 +107,7 @@ } #endif -#ifndef HAVE_PREAD +#if !defined(HAVE_PREAD) || defined(PREAD_BROKEN) ssize_t my_pread(int fd, void *buf, size_t count, off_t offset) { ssize_t ret; @@ -149,9 +149,7 @@ return -1; return ret; } -#endif - -#ifdef PREAD_WRAPPERS +#elif defined(PREAD_WRAPPERS) ssize_t my_pread(int fd, void *buf, size_t count, off_t offset) {
--- a/src/lib/compat.h Wed Jun 11 23:55:36 2008 +0300 +++ b/src/lib/compat.h Thu Jun 12 00:01:21 2008 +0300 @@ -160,7 +160,7 @@ ssize_t my_writev(int fd, const struct iovec *iov, int iov_len); #endif -#if !defined (HAVE_PREAD) || defined (PREAD_WRAPPERS) +#if !defined(HAVE_PREAD) || defined(PREAD_WRAPPERS) || defined(PREAD_BROKEN) # ifndef IN_COMPAT_C # define pread my_pread # define pwrite my_pwrite