TEST(sys_xattr, flistattr) {
TemporaryFile tf; char buf[65536]; // 64kB is max possible xattr list size. See "man 7 xattr".
ASSERT_EQ(0, fsetxattr(tf.fd, "user.foo", "bar", 4, 0));
ssize_t result = flistxattr(tf.fd, buf, sizeof(buf));
ASSERT_TRUE(result >= 9);
ASSERT_TRUE(memmem(buf, sizeof(buf), "user.foo", 9) != nullptr);
}
TEST(sys_xattr, flistattr_opath) {
TemporaryFile tf; char buf[65536]; // 64kB is max possible xattr list size. See "man 7 xattr".
ASSERT_EQ(0, fsetxattr(tf.fd, "user.foo", "bar", 4, 0)); int fd = open(tf.path, O_PATH);
ASSERT_NE(-1, fd);
ssize_t res = flistxattr(fd, buf, sizeof(buf)); #ifdefined(__BIONIC__)
ASSERT_TRUE(res >= 9);
ASSERT_TRUE(static_cast<size_t>(res) <= sizeof(buf));
ASSERT_TRUE(memmem(buf, res, "user.foo", 9) != nullptr); #else
ASSERT_EQ(-1, res);
ASSERT_ERRNO(EBADF); #endif
close(fd);
}
TEST(sys_xattr, flistattr_invalid_fd) { char buf[65536]; // 64kB is max possible xattr list size. See "man 7 xattr".
ASSERT_ERRNO_FAILURE(EBADF, -1, flistxattr(-1, buf, sizeof(buf)));
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.