Changeset 120

Show
Ignore:
Timestamp:
11/17/07 21:47:05 (9 months ago)
Author:
daboo
Message:

Fix byte order issues.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Mulberry/branches/v4.1d1/Sources_Common/Mail/Filters/CAFFilter.cp

    r62 r120  
    778778 
    779779        // 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); 
    782782        for(short i = 0; i < 16; i++) 
    783783                mIndex.header.filler[i] = 0; 
    784         mIndex.header.numEntries = mSingle ? cAppleFile_ASEntries : cAppleFile_ADEntries; 
     784        mIndex.header.numEntries = htonl(mSingle ? cAppleFile_ASEntries : cAppleFile_ADEntries); 
    785785        offset = mSingle ? cAppleFile_ASIndexSize : cAppleFile_ADIndexSize; 
    786786 
    787787        // 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); 
    792792 
    793793        // 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); 
    798798 
    799799        // 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); 
    804804 
    805805        // Get comment 
     
    821821 
    822822        // 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); 
    827827 
    828828        mHeaderBufferLen = offset; 
    829829 
    830830        // 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); 
    835835 
    836836        // Only add data for AppleSingle 
     
    838838        { 
    839839                // 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); 
    844844        } 
    845845 
     
    894894        mIndex.entries[cAppleFile_RealNameIndex].entryOffset = htonl(offset); 
    895895        mIndex.entries[cAppleFile_RealNameIndex].entryLen = htonl(mFileStream->GetFileName().GetLength()); 
    896         offset += mIndex.entries[0].entryLen; 
     896        offset += ntohl(mIndex.entries[0].entryLen); 
    897897 
    898898        // Finder info 
     
    900900        mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = htonl(offset); 
    901901        mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = htonl(sizeof(FInfo) + sizeof(FXInfo)); 
    902         offset += mIndex.entries[1].entryLen; 
     902        offset += ntohl(mIndex.entries[1].entryLen); 
    903903 
    904904        // File dates 
     
    906906        mIndex.entries[cAppleFile_FileDatesIndex].entryOffset =htonl(offset); 
    907907        mIndex.entries[cAppleFile_FileDatesIndex].entryLen = htonl(16); 
    908         offset += mIndex.entries[2].entryLen; 
     908        offset += ntohl(mIndex.entries[2].entryLen); 
    909909 
    910910        // Get comment 
     
    916916        mIndex.entries[cAppleFile_CommentIndex].entryOffset = htonl(offset); 
    917917        mIndex.entries[cAppleFile_CommentIndex].entryLen = htonl(*comment); 
    918         offset += mIndex.entries[3].entryLen; 
     918        offset += ntohl(mIndex.entries[3].entryLen); 
    919919 
    920920        mHeaderBufferLen = offset; 
     
    924924        mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = htonl(offset); 
    925925        mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = 0; 
    926         offset += mIndex.entries[4].entryLen; 
     926        offset += ntohl(mIndex.entries[4].entryLen); 
    927927 
    928928        // Only add data for AppleSingle 
     
    933933                mIndex.entries[cAppleFile_DataForkIndex].entryOffset = htonl(offset); 
    934934                mIndex.entries[cAppleFile_DataForkIndex].entryLen = htonl(mFileStream->GetLength()); 
    935                 offset += mIndex.entries[5].entryLen; 
     935                offset += ntohl(mIndex.entries[5].entryLen); 
    936936        } 
    937937 
     
    992992        mIndex.entries[cAppleFile_RealNameIndex].entryOffset = htonl(offset); 
    993993        mIndex.entries[cAppleFile_RealNameIndex].entryLen = htonl(mFileStream->GetFileName().length()); 
    994         offset += mIndex.entries[0].entryLen; 
     994        offset += ntohl(mIndex.entries[0].entryLen); 
    995995 
    996996        // Finder info 
     
    998998        mIndex.entries[cAppleFile_FinderInfoIndex].entryOffset = htonl(offset); 
    999999        mIndex.entries[cAppleFile_FinderInfoIndex].entryLen = htonl(sizeof(FInfo) + sizeof(FXInfo)); 
    1000         offset += mIndex.entries[1].entryLen; 
     1000        offset += ntohl(mIndex.entries[1].entryLen); 
    10011001 
    10021002        // File dates 
     
    10041004        mIndex.entries[cAppleFile_FileDatesIndex].entryOffset =htonl(offset); 
    10051005        mIndex.entries[cAppleFile_FileDatesIndex].entryLen = htonl(16); 
    1006         offset += mIndex.entries[2].entryLen; 
     1006        offset += ntohl(mIndex.entries[2].entryLen); 
    10071007 
    10081008        // Get comment 
     
    10141014        mIndex.entries[cAppleFile_CommentIndex].entryOffset = htonl(offset); 
    10151015        mIndex.entries[cAppleFile_CommentIndex].entryLen = htonl(*comment); 
    1016         offset += mIndex.entries[3].entryLen; 
     1016        offset += ntohl(mIndex.entries[3].entryLen); 
    10171017 
    10181018        mHeaderBufferLen = offset; 
     
    10221022        mIndex.entries[cAppleFile_RsrcForkIndex].entryOffset = htonl(offset); 
    10231023        mIndex.entries[cAppleFile_RsrcForkIndex].entryLen = 0; 
    1024         offset += mIndex.entries[4].entryLen; 
     1024        offset += ntohl(mIndex.entries[4].entryLen); 
    10251025 
    10261026        // Only add data for AppleSingle 
     
    10311031                mIndex.entries[cAppleFile_DataForkIndex].entryOffset = htonl(offset); 
    10321032                mIndex.entries[cAppleFile_DataForkIndex].entryLen = htonl(mFileStream->GetLength()); 
    1033                 offset += mIndex.entries[5].entryLen; 
     1033                offset += ntohl(mIndex.entries[5].entryLen); 
    10341034        } 
    10351035