Changeset 120
- Timestamp:
- 11/17/07 21:47:05 (9 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
Mulberry/branches/v4.1d1/Sources_Common/Mail/Filters/CAFFilter.cp
r62 r120 778 778 779 779 // Header 780 mIndex.header.magicNum = mSingle ? cAppleFile_AS : cAppleFile_AD;781 mIndex.header.versionNum = cAppleFile_Version2;780 mIndex.header.magicNum = htonl(mSingle ? cAppleFile_AS : cAppleFile_AD); 781 mIndex.header.versionNum = htonl(cAppleFile_Version2); 782 782 for(short i = 0; i < 16; i++) 783 783 mIndex.header.filler[i] = 0; 784 mIndex.header.numEntries = mSingle ? cAppleFile_ASEntries : cAppleFile_ADEntries;784 mIndex.header.numEntries = htonl(mSingle ? cAppleFile_ASEntries : cAppleFile_ADEntries); 785 785 offset = mSingle ? cAppleFile_ASIndexSize : cAppleFile_ADIndexSize; 786 786 787 787 // Real name 788 mIndex.entries[cAppleFile_RealNameIndex].entryID = cAppleFile_ASRealName;789 mIndex.entries[cAppleFile_RealNameIndex].entryOffset = offset;790 mIndex.entries[cAppleFile_RealNameIndex].entryLen = spec.name[0];791 offset += mIndex.entries[0].entryLen;788 mIndex.entries[cAppleFile_RealNameIndex].entryID = htonl(cAppleFile_ASRealName); 789 mIndex.entries[cAppleFile_RealNameIndex].entryOffset = htonl(offset); 790 mIndex.entries[cAppleFile_RealNameIndex].entryLen = htonl(spec.name[0]); 791 offset += ntohl(mIndex.entries[0].entryLen); 792 792 793 793 // Finder info 794 mIndex.entries[cAppleFile_FinderInfoIndex].entryID = cAppleFile_ASFinderInfo;795 mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = offset;796 mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = sizeof(FInfo) + sizeof(FXInfo);797 offset += mIndex.entries[1].entryLen;794 mIndex.entries[cAppleFile_FinderInfoIndex].entryID = htonl(cAppleFile_ASFinderInfo); 795 mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = htonl(offset); 796 mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = htonl(sizeof(FInfo) + sizeof(FXInfo)); 797 offset += ntohl(mIndex.entries[1].entryLen); 798 798 799 799 // File dates 800 mIndex.entries[cAppleFile_FileDatesIndex].entryID = cAppleFile_ASFileDates;801 mIndex.entries[cAppleFile_FileDatesIndex].entryOffset = offset;802 mIndex.entries[cAppleFile_FileDatesIndex].entryLen = 16;803 offset += mIndex.entries[2].entryLen;800 mIndex.entries[cAppleFile_FileDatesIndex].entryID = htonl(cAppleFile_ASFileDates); 801 mIndex.entries[cAppleFile_FileDatesIndex].entryOffset = htonl(offset); 802 mIndex.entries[cAppleFile_FileDatesIndex].entryLen = htonl(16); 803 offset += ntohl(mIndex.entries[2].entryLen); 804 804 805 805 // Get comment … … 821 821 822 822 // Set comment 823 mIndex.entries[cAppleFile_CommentIndex].entryID = cAppleFile_ASComment;824 mIndex.entries[cAppleFile_CommentIndex].entryOffset = offset;825 mIndex.entries[cAppleFile_CommentIndex].entryLen = *comment;826 offset += mIndex.entries[3].entryLen;823 mIndex.entries[cAppleFile_CommentIndex].entryID = htonl(cAppleFile_ASComment); 824 mIndex.entries[cAppleFile_CommentIndex].entryOffset = htonl(offset); 825 mIndex.entries[cAppleFile_CommentIndex].entryLen = htonl(*comment); 826 offset += ntohl(mIndex.entries[3].entryLen); 827 827 828 828 mHeaderBufferLen = offset; 829 829 830 830 // Resource fork 831 mIndex.entries[cAppleFile_RsrcForkIndex].entryID = cAppleFile_ASResource;832 mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = offset;833 mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = cpb.hFileInfo.ioFlRLgLen;834 offset += mIndex.entries[4].entryLen;831 mIndex.entries[cAppleFile_RsrcForkIndex].entryID = htonl(cAppleFile_ASResource); 832 mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = htonl(offset); 833 mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = htonl(cpb.hFileInfo.ioFlRLgLen); 834 offset += ntohl(mIndex.entries[4].entryLen); 835 835 836 836 // Only add data for AppleSingle … … 838 838 { 839 839 // Data fork 840 mIndex.entries[cAppleFile_DataForkIndex].entryID = cAppleFile_ASData;841 mIndex.entries[cAppleFile_DataForkIndex].entryOffset = offset;842 mIndex.entries[cAppleFile_DataForkIndex].entryLen = cpb.hFileInfo.ioFlLgLen;843 offset += mIndex.entries[5].entryLen;840 mIndex.entries[cAppleFile_DataForkIndex].entryID = htonl(cAppleFile_ASData); 841 mIndex.entries[cAppleFile_DataForkIndex].entryOffset = htonl(offset); 842 mIndex.entries[cAppleFile_DataForkIndex].entryLen = htonl(cpb.hFileInfo.ioFlLgLen); 843 offset += ntohl(mIndex.entries[5].entryLen); 844 844 } 845 845 … … 894 894 mIndex.entries[cAppleFile_RealNameIndex].entryOffset = htonl(offset); 895 895 mIndex.entries[cAppleFile_RealNameIndex].entryLen = htonl(mFileStream->GetFileName().GetLength()); 896 offset += mIndex.entries[0].entryLen;896 offset += ntohl(mIndex.entries[0].entryLen); 897 897 898 898 // Finder info … … 900 900 mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = htonl(offset); 901 901 mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = htonl(sizeof(FInfo) + sizeof(FXInfo)); 902 offset += mIndex.entries[1].entryLen;902 offset += ntohl(mIndex.entries[1].entryLen); 903 903 904 904 // File dates … … 906 906 mIndex.entries[cAppleFile_FileDatesIndex].entryOffset =htonl(offset); 907 907 mIndex.entries[cAppleFile_FileDatesIndex].entryLen = htonl(16); 908 offset += mIndex.entries[2].entryLen;908 offset += ntohl(mIndex.entries[2].entryLen); 909 909 910 910 // Get comment … … 916 916 mIndex.entries[cAppleFile_CommentIndex].entryOffset = htonl(offset); 917 917 mIndex.entries[cAppleFile_CommentIndex].entryLen = htonl(*comment); 918 offset += mIndex.entries[3].entryLen;918 offset += ntohl(mIndex.entries[3].entryLen); 919 919 920 920 mHeaderBufferLen = offset; … … 924 924 mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = htonl(offset); 925 925 mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = 0; 926 offset += mIndex.entries[4].entryLen;926 offset += ntohl(mIndex.entries[4].entryLen); 927 927 928 928 // Only add data for AppleSingle … … 933 933 mIndex.entries[cAppleFile_DataForkIndex].entryOffset = htonl(offset); 934 934 mIndex.entries[cAppleFile_DataForkIndex].entryLen = htonl(mFileStream->GetLength()); 935 offset += mIndex.entries[5].entryLen;935 offset += ntohl(mIndex.entries[5].entryLen); 936 936 } 937 937 … … 992 992 mIndex.entries[cAppleFile_RealNameIndex].entryOffset = htonl(offset); 993 993 mIndex.entries[cAppleFile_RealNameIndex].entryLen = htonl(mFileStream->GetFileName().length()); 994 offset += mIndex.entries[0].entryLen;994 offset += ntohl(mIndex.entries[0].entryLen); 995 995 996 996 // Finder info … … 998 998 mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = htonl(offset); 999 999 mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = htonl(sizeof(FInfo) + sizeof(FXInfo)); 1000 offset += mIndex.entries[1].entryLen;1000 offset += ntohl(mIndex.entries[1].entryLen); 1001 1001 1002 1002 // File dates … … 1004 1004 mIndex.entries[cAppleFile_FileDatesIndex].entryOffset =htonl(offset); 1005 1005 mIndex.entries[cAppleFile_FileDatesIndex].entryLen = htonl(16); 1006 offset += mIndex.entries[2].entryLen;1006 offset += ntohl(mIndex.entries[2].entryLen); 1007 1007 1008 1008 // Get comment … … 1014 1014 mIndex.entries[cAppleFile_CommentIndex].entryOffset = htonl(offset); 1015 1015 mIndex.entries[cAppleFile_CommentIndex].entryLen = htonl(*comment); 1016 offset += mIndex.entries[3].entryLen;1016 offset += ntohl(mIndex.entries[3].entryLen); 1017 1017 1018 1018 mHeaderBufferLen = offset; … … 1022 1022 mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = htonl(offset); 1023 1023 mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = 0; 1024 offset += mIndex.entries[4].entryLen;1024 offset += ntohl(mIndex.entries[4].entryLen); 1025 1025 1026 1026 // Only add data for AppleSingle … … 1031 1031 mIndex.entries[cAppleFile_DataForkIndex].entryOffset = htonl(offset); 1032 1032 mIndex.entries[cAppleFile_DataForkIndex].entryLen = htonl(mFileStream->GetLength()); 1033 offset += mIndex.entries[5].entryLen;1033 offset += ntohl(mIndex.entries[5].entryLen); 1034 1034 } 1035 1035