10 printf("Usage: %s <pathname> <xattr name>\n", prog);
13 /* Simple program to test the lgetxattr return value. */
14 int main(int argc, char *argv[])
16 char *path, *xattr, *buf;
28 ret_null = lgetxattr(path, xattr, NULL, 0);
30 fprintf(stderr, "lgetxattr(%s, %s, NULL, 0) failed "
31 "with %i: %s\n", path, xattr, errno,
37 buf = (char *)malloc(ret_null);
39 fprintf(stderr, "malloc(%zi) failed with %i: %s\n",
40 ret_null, errno, strerror(errno));
45 ssize_t ret_buf = lgetxattr(path, xattr, buf, ret_null);
47 fprintf(stderr, "lgetxattr(%s, %s, %p, %zi) failed "
48 "with %i: %s\n", path, xattr, buf,
49 ret_null, errno, strerror(errno));
54 if (ret_null != ret_buf) {
55 fprintf(stderr, "lgetxattr returned inconsistent sizes!\n");
56 fprintf(stderr, "lgetxattr(%s, %s, NULL, 0) = %zi\n",
57 path, xattr, ret_null);
58 fprintf(stderr, "lgetxattr(%s, %s, %p, %zi) = %zi\n",
59 path, xattr, buf, ret_null, ret_buf);