From 7ffa8452d9e13c33f5c41ad32aab4bc05cd942c5 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Tue, 13 Feb 2024 23:45:27 -0600 Subject: [PATCH] fuse_getattr.cpp --- src/fuse_getattr.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/fuse_getattr.cpp b/src/fuse_getattr.cpp index 9574f67e..3ef3468a 100644 --- a/src/fuse_getattr.cpp +++ b/src/fuse_getattr.cpp @@ -98,7 +98,27 @@ namespace l FollowSymlinks const followsymlinks_) struct stat *st_) { - + switch(followsymlinks_) + { + case FollowSymlinks::ENUM::NEVER: + rv = fs::lstat(fullpath,st_); + break; + case FollowSymlinks::ENUM::DIRECTORY: + rv = fs::lstat(fullpath,st_); + if(S_ISLNK(st_->st_mode)) + l::set_stat_if_leads_to_dir(fullpath,st_); + break; + case FollowSymlinks::ENUM::REGULAR: + rv = fs::lstat(fullpath,st_); + if(S_ISLNK(st_->st_mode)) + l::set_stat_if_leads_to_reg(fullpath,st_); + break; + case FollowSymlinks::ENUM::ALL: + rv = fs::stat(fullpath,st_); + if(rv != 0) + rv = fs::lstat(fullpath,st_); + break; + } } static