summaryrefslogtreecommitdiff
path: root/libarchive/archive_read_disk_posix.c
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@acm.org>2016-03-21 20:27:16 -0700
committerTim Kientzle <kientzle@acm.org>2016-03-21 20:27:16 -0700
commit710bdf77cafdbc068f4f24d86307f1428ab3885b (patch)
tree137403e319ac05cba34276ca6a42d82f9e1bbbee /libarchive/archive_read_disk_posix.c
parent180a8d0219b7a597fcea62c2b3de7d8f6ddb1adb (diff)
parent06d6ee574245abf41e2225c63738929bbd9073d3 (diff)
downloadlibarchive-710bdf77cafdbc068f4f24d86307f1428ab3885b.tar.gz
Merge pull request #663 from vapier/master
add missing _PC_NAME_MAX checks
Diffstat (limited to 'libarchive/archive_read_disk_posix.c')
-rw-r--r--libarchive/archive_read_disk_posix.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c
index 067fa6d4..1a0c3b18 100644
--- a/libarchive/archive_read_disk_posix.c
+++ b/libarchive/archive_read_disk_posix.c
@@ -1588,6 +1588,7 @@ setup_current_filesystem(struct archive_read_disk *a)
#if defined(HAVE_STRUCT_STATFS_F_NAMEMAX)
t->current_filesystem->name_max = sfs.f_namemax;
#else
+# if defined(_PC_NAME_MAX)
/* Mac OS X does not have f_namemax in struct statfs. */
if (tree_current_is_symblic_link_target(t)) {
if (tree_enter_working_dir(t) != 0) {
@@ -1597,6 +1598,9 @@ setup_current_filesystem(struct archive_read_disk *a)
nm = pathconf(tree_current_access_path(t), _PC_NAME_MAX);
} else
nm = fpathconf(tree_current_dir_fd(t), _PC_NAME_MAX);
+# else
+ nm = -1;
+# endif
if (nm == -1)
t->current_filesystem->name_max = NAME_MAX;
else