aboutsummaryrefslogtreecommitdiffstats
path: root/src/bindfs.c
diff options
context:
space:
mode:
authorMartin Pärtel <martin.partel@gmail.com>2017-06-17 11:43:02 +0300
committerMartin Pärtel <martin.partel@gmail.com>2017-06-17 11:43:02 +0300
commitbd31664497f1ba27a66f49e128ab4747484820c9 (patch)
tree71f83a34c3eb94c7cfdc24cc78dc4d6a445136af /src/bindfs.c
parentff118953074c664037fa619069aa0ec58119c9ca (diff)
downloadbindfs-bd31664497f1ba27a66f49e128ab4747484820c9.tar.gz
Work around `pathconf(..., _PC_NAME_MAX)` erroneously returning 0 for some source filesystems.
Fixes #54
Diffstat (limited to 'src/bindfs.c')
-rw-r--r--src/bindfs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bindfs.c b/src/bindfs.c
index f6bbbe4..0d10b74 100644
--- a/src/bindfs.c
+++ b/src/bindfs.c
@@ -678,6 +678,10 @@ static int bindfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
if (pc_ret < 0) {
DPRINTF("pathconf failed: %s (%d)", strerror(errno), errno);
pc_ret = NAME_MAX;
+ } else if (pc_ret == 0) {
+ // Workaround for some source filesystems erroneously returning 0
+ // (see issue #54).
+ pc_ret = NAME_MAX;
}
struct dirent *de_buf =