aboutsummaryrefslogtreecommitdiff
path: root/sshfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sshfs.c')
-rw-r--r--sshfs.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sshfs.c b/sshfs.c
index 3186867..8cde971 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -3951,9 +3951,6 @@ int main(int argc, char *argv[])
if (!realpath(*exec_path, sshfs_program_path)) {
memset(sshfs_program_path, 0, PATH_MAX);
}
-
- /* Until this gets fixed somewhere else. */
- g_slice_set_config(G_SLICE_CONFIG_ALWAYS_MALLOC, TRUE);
#endif /* __APPLE__ */
g_thread_init(NULL);
@@ -3998,6 +3995,14 @@ int main(int argc, char *argv[])
parse_workarounds() == -1)
exit(1);
+#if FUSE_VERSION >= 29
+ // These workarounds require the "path" argument.
+ if (sshfs.truncate_workaround || sshfs.fstat_workaround) {
+ sshfs_oper.oper.flag_nullpath_ok = 0;
+ sshfs_oper.oper.flag_nopath = 0;
+ }
+#endif
+
if (sshfs.idmap == IDMAP_USER)
sshfs.detect_uid = 1;
else if (sshfs.idmap == IDMAP_FILE) {