LICENSE MIT
even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state
that the MaximumComponentNameLength field is in bytes, it turns
out that Windows SMB servers return the value in characters.
Reduce the reported value to 255 to match NTFS.
/* The maxCompLength is supposed to be in bytes */
#ifdef SMB_UNICODE
qi.u.FSattributeInfo.attributes |= 0x04;
-
- if ((vcp->flags & SMB_VCFLAG_USEUNICODE) == SMB_VCFLAG_USEUNICODE)
- qi.u.FSattributeInfo.maxCompLength = MAX_PATH * sizeof(wchar_t);
- else {
-#endif
- qi.u.FSattributeInfo.maxCompLength = MAX_PATH;
-#ifdef SMB_UNICODE
- }
#endif
+ qi.u.FSattributeInfo.maxCompLength = 255;
smb_UnparseString(op, qi.u.FSattributeInfo.FSname, _C("AFS"), &sz, SMB_STRF_IGNORENUL);
qi.u.FSattributeInfo.FSnameLength = sz;