Listing 4 Code that may create memory alignment problems

Class CArchive {
 ...
BYTE * m_lpBufCur;
BYTE * m_lpBufMax;
...
};

AFX_INLINE CArchive& CArchive::operator<<(DWORD dw)
{
       if (m_lpBufCur + sizeof(DWORD) > m_lpBufMax)
                 Flush();
       *(DWORD FAR*)m_lpBufCur = dw;
       m_lpBufCur += sizeof(DWORD);
       return *this;
}

// End of File