Fix setting of stat vars for symlinkify

This commit is contained in:
Antonio SJ Musumeci
2022-10-30 22:27:33 -04:00
parent 5d3c5002e0
commit 3b0d7fb26e
2 changed files with 10 additions and 4 deletions
+1 -1
View File
@@ -139,7 +139,7 @@ namespace l
return -errno;
if(symlinkify_ && symlinkify::can_be_symlink(*st_,symlinkify_timeout_))
st_->st_mode = symlinkify::convert(st_->st_mode);
symlinkify::convert(fullpath,st_);
fs::inode::calc(fusepath_,st_);
+9 -3
View File
@@ -21,6 +21,9 @@
#include <sys/stat.h>
#include <time.h>
#include <string>
namespace symlinkify
{
static
@@ -41,9 +44,12 @@ namespace symlinkify
static
inline
mode_t
convert(const mode_t mode_)
void
convert(const std::string &target_,
struct stat *st_)
{
return ((mode_ & ~S_IFMT) | S_IFLNK);
st_->st_mode = (((st_->st_mode & ~S_IFMT) | S_IFLNK) | 0777);
st_->st_size = target_.size();
st_->st_blocks = 0;
}
}