]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Only include the FreeBSD-style extended attribute support, if
authorJoerg Sonnenberger <joerg.sonnenberger@gmail.com>
Mon, 19 Apr 2010 22:27:50 +0000 (18:27 -0400)
committerJoerg Sonnenberger <joerg.sonnenberger@gmail.com>
Mon, 19 Apr 2010 22:27:50 +0000 (18:27 -0400)
EXTATTR_NAMESPACE_USER is defined. It is missing on FreeBSD 4 and
DragonFly. Reported by Antonio Huete Jimenez as NetBSD's pkg/43175.

SVN-Revision: 2269

configure.ac
libarchive/archive_read_disk_entry_from_file.c
libarchive/archive_write_disk.c

index 26f836b35a7279303799685beae7518d6566684c..ba05c1a9f92e68f542a1bc9c5000d1f084cbcc88 100644 (file)
@@ -444,6 +444,9 @@ if test "x$enable_xattr" != "xno"; then
        AC_CHECK_FUNCS([extattr_set_fd extattr_set_file])
        AC_CHECK_FUNCS([fsetxattr getxattr])
        AC_CHECK_FUNCS([lgetxattr listxattr llistxattr lsetxattr])
+       AC_CHECK_DECLS([EXTATTR_NAMESPACE_USER], [], [], [#include <sys/types.h>
+#include <sys/extattr.h>
+])
 fi
 
 # Check for ACL support
index eb373bdbc1c6178b159373a867715a061610627f..453efc8a7d0a0c4e17c419f39229c65e4d905f2e 100644 (file)
@@ -460,7 +460,8 @@ setup_xattrs(struct archive_read_disk *a,
        return (ARCHIVE_OK);
 }
 
-#elif HAVE_EXTATTR_GET_FILE && HAVE_EXTATTR_LIST_FILE
+#elif HAVE_EXTATTR_GET_FILE && HAVE_EXTATTR_LIST_FILE && \
+    HAVE_DECL_EXTATTR_NAMESPACE_USER
 
 /*
  * FreeBSD extattr interface.
index ad6622b3d57fb168c50cdaaf39fa77ce26415b53..047a5184a4ecc24bb80bd0e573e7afb59d86cb41 100644 (file)
@@ -2527,7 +2527,7 @@ set_xattrs(struct archive_write_disk *a)
        }
        return (ret);
 }
-#elif HAVE_EXTATTR_SET_FILE
+#elif HAVE_EXTATTR_SET_FILE && HAVE_DECL_EXTATTR_NAMESPACE_USER
 /*
  * Restore extended attributes -  FreeBSD implementation
  */