chiark / gitweb /
Fix write-only use of a few variables
[elogind.git] / src / libsystemd-bus / test-bus-memfd.c
index db199d46dbd13138ed6a1a9ac828cf5acf8c5216..b9d6a250c36b17ac25b049e2e917d3134e24f0e5 100644 (file)
@@ -20,6 +20,7 @@
 ***/
 
 #include <sys/mman.h>
+#include <sys/uio.h>
 
 #include "log.h"
 #include "macro.h"
@@ -101,7 +102,7 @@ int main(int argc, char *argv[]) {
 
         /* we did truncate it to 6 */
         r = sd_memfd_get_size(m, &sz);
-        assert_se(sz == 6);
+        assert_se(r >= 0 && sz == 6);
 
         /* map it, check content */
         r = sd_memfd_map(m, 0, 12, (void **)&s);
@@ -151,8 +152,7 @@ int main(int argc, char *argv[]) {
         iov[1].iov_len = 3;
         iov[2].iov_base = (char *)"GHI";
         iov[2].iov_len = 3;
-        assert_se(lseek(fd, 0, SEEK_SET) == 0);
-        assert_se(writev(fd, iov, 3) == 9);
+        assert_se(pwritev(fd, iov, 3, 0) == 9);
 
         /* readv it back */
         iov[0].iov_base = bufv[0];
@@ -161,8 +161,7 @@ int main(int argc, char *argv[]) {
         iov[1].iov_len = 3;
         iov[2].iov_base = bufv[2];
         iov[2].iov_len = 3;
-        assert_se(lseek(fd, 0, SEEK_SET) == 0);
-        assert_se(readv(fd, iov, 3) == 9);
+        assert_se(preadv(fd, iov, 3, 0) == 9);
 
         /* check content */
         assert_se(memcmp(bufv[0], "ABC", 3) == 0);