aboutsummaryrefslogtreecommitdiffhomepage
path: root/protocol.c
diff options
context:
space:
mode:
authoreihrul <eihrul>2004-12-09 18:41:02 +0000
committereihrul <eihrul>2004-12-09 18:41:02 +0000
commit33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d (patch)
tree10eb9e5bb56696eb36b03a8de703ec1b598ece76 /protocol.c
parent50556696837011bf6027ad797315f7c5ebc52c77 (diff)
downloadenet-33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d.tar.gz
enet-33974e01a2e3f1bc1fdad8ae05e9aa9e9612cb0d.zip
bug fixes
Diffstat (limited to 'protocol.c')
-rw-r--r--protocol.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/protocol.c b/protocol.c
index 5f11488..f0e8fa7 100644
--- a/protocol.c
+++ b/protocol.c
@@ -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