Thanks for the comments. I have corrected most and will resubmit.
Dmitry Timoshkov wrote:
- type = (wfd->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ?
PT_FOLDER : PT_VALUE;
- /*
* FileStruct already has one byte for the first name, so use len
- 1 in
* size calculation
*/
- wlen = lstrlenW(wfd->cFileName);
- pidl = _ILAlloc(type, sizeof(FileStruct) + (alen - 1) + (alen &
0x1) + + sizeof(FileStructW) + wlen * sizeof(WCHAR) + sizeof(WORD)) ;
What (alen & 0x1) is for?
the (alen & 0x1) has to do with byte aligning the FileStructW. It is based on the code in UNIXFS_build_shitemid of shfldr_unixfs.c
-aric