Why would you want to multiply 256 by 2? a byte is 1, a char is 1, therefore 256 chars are 256.
Entwicklung wrote:
Hello, I just have a question regarding the size of the HFS Plus - Catalog Thread Record specified in the Apple Universal Interfaces headers - typedef UInt16 UniChar; /* HFSUniStr255 is the Unicode equivalent of Str255 */ struct HFSUniStr255 { UInt16 length; /* number of unicode characters */ UniChar unicode[255]; /* unicode characters */
}; /* HFS Plus catalog thread record -- 264 bytes */ struct HFSPlusCatalogThread { UInt16 recordType; /* record type */ UInt16 reserved; /* reserved - set to zero */ HFSCatalogNodeID parentID; /* parent ID for this catalog node */ HFSUniStr255 nodeName; /* name of this catalog node (variable length) */ }; typedef struct HFSPlusCatalogThread HFSPlusCatalogThread; Based on the above declarations shouldn't the size for the HFSPlus catalog thread record be 2+2+4 (since CNID's are 4 bytes long ) + 256*2 = 264+256 instead of 264 as mentioned above ? I think someone probably forgot to multiply the 256 by 2 but I just wanted to make sure that is an error. I'd be happy to hear some feedback from the list wrt this. Best Regards,Nandini Hengen