diff options
author | Martin Pärtel <martin.partel@gmail.com> | 2017-06-17 11:43:02 +0300 |
---|---|---|
committer | Martin Pärtel <martin.partel@gmail.com> | 2017-06-17 11:43:02 +0300 |
commit | bd31664497f1ba27a66f49e128ab4747484820c9 (patch) | |
tree | 71f83a34c3eb94c7cfdc24cc78dc4d6a445136af /src | |
parent | ff118953074c664037fa619069aa0ec58119c9ca (diff) | |
download | bindfs-bd31664497f1ba27a66f49e128ab4747484820c9.tar.gz |
Work around `pathconf(..., _PC_NAME_MAX)` erroneously returning 0 for some source filesystems.
Fixes #54
Diffstat (limited to 'src')
-rw-r--r-- | src/bindfs.c | 4 |
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 = |