diff options
| author | 2009-09-03 08:57:21 +0000 | |
|---|---|---|
| committer | 2009-09-03 08:57:21 +0000 | |
| commit | 5a2a25f4991d0a0d76dd6304cbe46b5d337b0cfb (patch) | |
| tree | 2389c854f9617052ec04a45551a39e5f17df4d30 /src | |
| parent | reverting r3161 since qt4 is not able to handle correctly frame caption anymo... (diff) | |
| download | KVIrc-5a2a25f4991d0a0d76dd6304cbe46b5d337b0cfb.tar.gz KVIrc-5a2a25f4991d0a0d76dd6304cbe46b5d337b0cfb.tar.bz2 KVIrc-5a2a25f4991d0a0d76dd6304cbe46b5d337b0cfb.zip | |
fix for #551
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3473 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/dcc/send.cpp | 11 | ||||
| -rw-r--r-- | src/modules/rijndael/CMakeLists.txt | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp index fbf900c90..baab4457f 100644 --- a/src/modules/dcc/send.cpp +++ b/src/modules/dcc/send.cpp @@ -471,6 +471,11 @@ void KviDccSendThread::updateStats() m_pMutex->unlock(); } +union _ack_buffer { + char cAckBuffer[4]; + quint32 i32AckBuffer; +}; + void KviDccSendThread::run() { m_pTimeInterval->mark(); @@ -481,7 +486,7 @@ void KviDccSendThread::run() m_iTotalSentBytes = 0; m_iInstantSentBytes = 0; int iFailedSelects = 0; - char ackbuffer[4]; + _ack_buffer ackbuffer; int iBytesInAckBuffer = 0; quint32 iLastAck = 0; @@ -541,13 +546,13 @@ void KviDccSendThread::run() if(!m_pOpt->bNoAcks) { int iAckBytesToRead = 4 - iBytesInAckBuffer; - int readLen = kvi_socket_recv(m_fd,(void *)(ackbuffer + iBytesInAckBuffer),iAckBytesToRead); + int readLen = kvi_socket_recv(m_fd,(void *)(ackbuffer.cAckBuffer + iBytesInAckBuffer),iAckBytesToRead); if(readLen > 0) { iBytesInAckBuffer += readLen; if(iBytesInAckBuffer == 4) { - quint32 iNewAck = ntohl(*((quint32 *)ackbuffer)); + quint32 iNewAck = ntohl(ackbuffer.i32AckBuffer); if((iNewAck > pFile->pos()) || (iNewAck < iLastAck)) { // the peer is drunk or is trying to fool us diff --git a/src/modules/rijndael/CMakeLists.txt b/src/modules/rijndael/CMakeLists.txt index ee7b047e9..148a953e2 100644 --- a/src/modules/rijndael/CMakeLists.txt +++ b/src/modules/rijndael/CMakeLists.txt @@ -15,5 +15,7 @@ SET(kvirijndael_SRCS # After this call, files will be moc'ed to moc_kvi_*.cpp QT4_WRAP_CPP(kvirijndael_MOC_SRCS ${kvirijndael_MOC_HDRS}) +SET(ADDITIONAL_LINK_FLAGS "${ADDITIONAL_LINK_FLAGS} -fno-strict-aliasing") + SET(kvi_module_name kvirijndael) INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt) |
