]> wimlib.net Git - wimlib/blobdiff - tests/tree-cmp.c
libattr is no longer needed
[wimlib] / tests / tree-cmp.c
index 0b56d20eaf3cdeddf883c3f5b2b069fde8da57b7..1fed0234cccbd07044364ec07cadea53e25117ba 100644 (file)
@@ -4,7 +4,7 @@
  * There are two modes:
  *     - Normal mode for any filesystems.  We compare file names, contents,
  *     sizes, modes, access times, and hard links.
- *     - NTFS mode for NTFS-3g mounted volumes.  In this mode we need to
+ *     - NTFS mode for NTFS-3G mounted volumes.  In this mode we need to
  *       compare various NTFS-specific attributes such as named data streams
  *       and DOS names.
  *
 #include <unistd.h>
 #include <stdbool.h>
 #include <sys/stat.h>
-#ifdef HAVE_ATTR_XATTR_H
-#include <attr/xattr.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_XATTR_H
+#  include <sys/xattr.h>
 #endif
 #include <assert.h>
 
+#ifndef ENOATTR
+#  define ENOATTR ENODATA
+#endif
+
 typedef uint64_t u64;
 
 #if 0
@@ -165,7 +170,7 @@ static void cmp(const char *file1, const char *file2, size_t size)
        close(fd2);
 }
 
-#ifdef HAVE_ATTR_XATTR_H
+#ifdef HAVE_SYS_XATTR_H
 /* Compares an extended attribute of the files. */
 static void cmp_xattr(const char *file1, const char *file2,
                      const char *xattr_name, ssize_t max_size,
@@ -222,9 +227,6 @@ static void cmp_xattr(const char *file1, const char *file2,
        }
        free(buf1);
        free(buf2);
-       fprintf(stderr, "tree-cmp: Warning: cannot compare xattrs of `%s' and `%s'\n",
-                       file1, file2);
-       fprintf(stderr, "          You need to install the attr development files for this.\n");
 }
 
 /* Compares all alternate data streams of the files */
@@ -273,23 +275,24 @@ static void cmp_ads(const char *file1, const char *file2)
                free(list2);
        }
 }
-#endif
+#endif /* HAVE_SYS_XATTR_H */
 
 /* Compares special NTFS data of the files, as accessed through extended
  * attributes. */
 static void special_cmp(const char *file1, const char *file2)
 {
-#ifdef HAVE_ATTR_XATTR_H
+#ifdef HAVE_SYS_XATTR_H
        cmp_xattr(file1, file2, "system.ntfs_acl", 0, false);
        cmp_xattr(file1, file2, "system.ntfs_attrib", 0, false);
        cmp_xattr(file1, file2, "system.ntfs_dos_name", 0, true);
+       cmp_xattr(file1, file2, "system.ntfs_object_id", 64, true);
        cmp_xattr(file1, file2, "system.ntfs_reparse_data", 0, true);
        cmp_xattr(file1, file2, "system.ntfs_times", 16, false);
        cmp_ads(file1, file2);
 #else
        fprintf(stderr, "tree-cmp: Warning: cannot compare xattrs of `%s' and `%s'\n",
                        file1, file2);
-       fprintf(stderr, "          You need to install the attr development files for this.\n");
+       fprintf(stderr, "          Extended attributes are not supported on this platform.\n");
 #endif
 }