18 if( realTarget.
Equals(target) )
25 #if !defined ( _WIN32)
26 auto key= fInfo.
Owner();
27 auto resultPair= ownerCache.Try( key );
28 if( !resultPair.first ) {
29 auto* result= getpwuid(key);
30 resultPair.second.Construct( key,
NString(result ? result->pw_name :
"?"));
32 return resultPair.second.Mapped();
40 #if !defined ( _WIN32)
41 auto key= fInfo.
Group();
42 auto resultPair= groupCache.Try( key );
43 if( !resultPair.first ) {
44 auto* result= getgrgid(key);
45 resultPair.second.Construct( key,
NString(result ? result->gr_name :
"?"));
47 return resultPair.second.Mapped();
ExtendedEntryInfo * extendedInfo
Extended information, depending on the entry type.
void SetLinkTarget(FTree &tree, const PathString &target, const PathString &realTarget)
const NString GetGroupName(const FileStatus &descriptor) const
const NString GetOwnerName(const FileStatus &descriptor) const
void Allocate(TAllocator &allocator, const TString< TChar > ©)
void Free(TAllocator &allocator) const
constexpr integer Length() const
constexpr const TChar * Buffer() const
bool Equals(const TString< TChar > &rhs) const
constexpr uint32_t Owner() const noexcept
constexpr uint32_t Group() const noexcept
strings::TString< nchar > NString
Type alias in namespace #"%alib".
strings::TString< PathCharType > PathString
The string-type used with this ALib Module.
system::FileStatus FileStatus
Type alias in namespace #"%alib".
CPathString RealTarget
The resolved real target path.
CPathString Target
The target path. This is a zero-terminated #"%CString".