diff options
author | eihrul <eihrul> | 2004-12-09 18:41:02 +0000 |
---|---|---|
committer | eihrul <eihrul> | 2004-12-09 18:41:02 +0000 |
commit | 33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d (patch) | |
tree | 10eb9e5bb56696eb36b03a8de703ec1b598ece76 /protocol.c | |
parent | 50556696837011bf6027ad797315f7c5ebc52c77 (diff) | |
download | enet-33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d.tar.gz enet-33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d.zip |
bug fixes
Diffstat (limited to 'protocol.c')
-rw-r--r-- | protocol.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -396,17 +396,19 @@ enet_protocol_handle_send_fragment (ENetHost * host, ENetPeer * peer, const ENet fragmentCount != startCommand -> fragmentCount) return; - if ((startCommand -> fragments [fragmentNumber / 32] & (1 << fragmentNumber)) == 0) - -- startCommand -> fragmentsRemaining; + if ((startCommand -> fragments [fragmentNumber / 32] & (1 << (fragmentNumber & 32))) == 0) + { + -- startCommand -> fragmentsRemaining; - startCommand -> fragments [fragmentNumber / 32] |= (1 << fragmentNumber); + startCommand -> fragments [fragmentNumber / 32] |= (1 << (fragmentNumber & 32)); - if (fragmentOffset + fragmentLength > startCommand -> packet -> dataLength) - fragmentLength = startCommand -> packet -> dataLength - fragmentOffset; + if (fragmentOffset + fragmentLength > startCommand -> packet -> dataLength) + fragmentLength = startCommand -> packet -> dataLength - fragmentOffset; - memcpy (startCommand -> packet -> data + fragmentOffset, - (enet_uint8 *) command + sizeof (ENetProtocolSendFragment), - fragmentLength); + memcpy (startCommand -> packet -> data + fragmentOffset, + (enet_uint8 *) command + sizeof (ENetProtocolSendFragment), + fragmentLength); + } } static void |