#if defined HAVE_PREADV && defined HAVE_PWRITEV
+# include <errno.h>
# include <fcntl.h>
# include <stdio.h>
# include <sys/uio.h>
rc = pwritev(1, efault, 42, 0);
if (rc != -1)
perror_msg_and_fail("pwritev: expected -1, returned %ld", rc);
- tprintf("pwritev(1, %p, 42, 0) = -1 EFAULT (%m)\n", efault);
+ tprintf("pwritev(1, %p, 42, 0) = -1 %s (%m)\n",
+ efault, errno == EINVAL ? "EINVAL" : "EFAULT");
rc = preadv(0, efault, 42, 0);
if (rc != -1)
perror_msg_and_fail("preadv: expected -1, returned %ld", rc);
- tprintf("preadv(0, %p, 42, 0) = -1 EFAULT (%m)\n", efault);
+ tprintf("preadv(0, %p, 42, 0) = -1 %s (%m)\n",
+ efault, errno == EINVAL ? "EINVAL" : "EFAULT");
static const char r0_c[] = "01234567";
const char *r0_d = hexdump_strdup(r0_c);
if (rc != -1)
perror_msg_and_fail("pwritev: expected -1 EFAULT, returned %ld",
rc);
- tprintf("pwritev(1, [{\"%s\", %u}, %p], 2, 0) = -1 EFAULT (%m)\n",
- w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_));
+ tprintf("pwritev(1, [{\"%s\", %u}, %p], 2, 0) = -1 %s (%m)\n",
+ w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_),
+ errno == EINVAL ? "EINVAL" : "EFAULT");
const unsigned int w_len =
LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);
#ifdef HAVE_PWRITEV
+# include <errno.h>
# include <fcntl.h>
# include <stdio.h>
# include <sys/uio.h>
perror_msg_and_fail("pwritev");
fputs("pwritev(0, ", stdout);
print_iovec(iov + i, n, LEN - i);
- printf(", %u, %lld) = -1 EFAULT (%m)\n",
- n, (long long) offset + LEN + i);
+ printf(", %u, %lld) = -1 %s (%m)\n",
+ n, (long long) offset + LEN + i,
+ errno == EINVAL ? "EINVAL" : "EFAULT");
}
iov->iov_base = iov + LEN * 2;
#include "tests.h"
#include <assert.h>
+#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/uio.h>
void *w2 = tail_memdup(w2_c, LENGTH_OF(w2_c));
assert(writev(1, efault, 42) == -1);
- tprintf("writev(1, %p, 42) = -1 EFAULT (%m)\n", efault);
+ tprintf("writev(1, %p, 42) = -1 %s (%m)\n",
+ efault, errno == EINVAL ? "EINVAL" : "EFAULT");
assert(readv(0, efault, 42) == -1);
- tprintf("readv(0, %p, 42) = -1 EFAULT (%m)\n", efault);
+ tprintf("readv(0, %p, 42) = -1 %s (%m)\n",
+ efault, errno == EINVAL ? "EINVAL" : "EFAULT");
static const char r0_c[] = "01234567";
const char *r0_d = hexdump_strdup(r0_c);
tprintf("writev(1, [], 0) = 0\n");
assert(writev(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2) == -1);
- tprintf("writev(1, [{\"%s\", %u}, %p], 2) = -1 EFAULT (%m)\n",
- w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_));
+ tprintf("writev(1, [{\"%s\", %u}, %p], 2) = -1 %s (%m)\n",
+ w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_),
+ errno == EINVAL ? "EINVAL" : "EFAULT");
const unsigned int w_len =
LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);