--- mstools/mfc/include/afx.inl 2018/08/09 18:21:00 1.1 +++ mstools/mfc/include/afx.inl 2018/08/09 18:25:02 1.1.1.2 @@ -260,13 +260,13 @@ inline CArchive& CArchive::operator<<(BY *(BYTE FAR*)m_lpBufCur = by; m_lpBufCur += sizeof(BYTE); return *this; } inline CArchive& CArchive::operator<<(WORD w) { if (m_lpBufCur + sizeof(WORD) > m_lpBufMax) Flush(); - *(WORD FAR*)m_lpBufCur = w; m_lpBufCur += sizeof(WORD); return *this; } + *(UNALIGNED WORD FAR*)m_lpBufCur = w; m_lpBufCur += sizeof(WORD); return *this; } inline CArchive& CArchive::operator<<(LONG l) { if (m_lpBufCur + sizeof(LONG) > m_lpBufMax) Flush(); - *(LONG FAR*)m_lpBufCur = l; m_lpBufCur += sizeof(LONG); return *this; } + *(UNALIGNED LONG FAR*)m_lpBufCur = l; m_lpBufCur += sizeof(LONG); return *this; } 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; } + *(UNALIGNED DWORD FAR*)m_lpBufCur = dw; m_lpBufCur += sizeof(DWORD); return *this; } inline CArchive& CArchive::operator>>(BYTE& by) { if (m_lpBufCur + sizeof(BYTE) > m_lpBufMax) FillBuffer(sizeof(BYTE) - (m_lpBufMax - m_lpBufCur)); @@ -274,15 +274,15 @@ inline CArchive& CArchive::operator>>(BY inline CArchive& CArchive::operator>>(WORD& w) { if (m_lpBufCur + sizeof(WORD) > m_lpBufMax) FillBuffer(sizeof(WORD) - (m_lpBufMax - m_lpBufCur)); - w = *(WORD FAR*)m_lpBufCur; m_lpBufCur += sizeof(WORD); return *this; } + w = *(UNALIGNED WORD FAR*)m_lpBufCur; m_lpBufCur += sizeof(WORD); return *this; } inline CArchive& CArchive::operator>>(DWORD& dw) { if (m_lpBufCur + sizeof(DWORD) > m_lpBufMax) FillBuffer(sizeof(DWORD) - (m_lpBufMax - m_lpBufCur)); - dw = *(DWORD FAR*)m_lpBufCur; m_lpBufCur += sizeof(DWORD); return *this; } + dw = *(UNALIGNED DWORD FAR*)m_lpBufCur; m_lpBufCur += sizeof(DWORD); return *this; } inline CArchive& CArchive::operator>>(LONG& l) { if (m_lpBufCur + sizeof(LONG) > m_lpBufMax) FillBuffer(sizeof(LONG) - (m_lpBufMax - m_lpBufCur)); - l = *(LONG FAR*)m_lpBufCur; m_lpBufCur += sizeof(LONG); return *this; } + l = *(UNALIGNED LONG FAR*)m_lpBufCur; m_lpBufCur += sizeof(LONG); return *this; } inline CArchive::CArchive(const CArchive& /* arSrc */) { } inline void CArchive::operator=(const CArchive& /* arSrc */)