diff options
| author | Eugenio Favalli <elvenprogrammer@gmail.com> | 2006-04-28 12:08:06 +0000 |
|---|---|---|
| committer | Eugenio Favalli <elvenprogrammer@gmail.com> | 2006-04-28 12:08:06 +0000 |
| commit | 184aae8cb1fb072b40d63f69c569d92ad7ed2eef (patch) | |
| tree | af33d3deaf9bfe3d932a508c8d6cd7e43ba59596 /src/messagein.cpp | |
| parent | 0adc743277b82b21c16b08a4722f5f4ab2096a59 (diff) | |
| download | manaserv-184aae8cb1fb072b40d63f69c569d92ad7ed2eef.tar.gz manaserv-184aae8cb1fb072b40d63f69c569d92ad7ed2eef.tar.xz manaserv-184aae8cb1fb072b40d63f69c569d92ad7ed2eef.zip | |
Merged enet_switch changes r2268:2309 into the trunk.
Diffstat (limited to 'src/messagein.cpp')
| -rw-r--r-- | src/messagein.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/messagein.cpp b/src/messagein.cpp index 88e673d..c1736bb 100644 --- a/src/messagein.cpp +++ b/src/messagein.cpp @@ -23,9 +23,10 @@ #include "messagein.h" -#include <SDL_net.h> #include <string> +#include <enet/enet.h> + #include "packet.h" MessageIn::MessageIn(Packet *packet): @@ -60,12 +61,14 @@ char MessageIn::readByte() short MessageIn::readShort() { + short value = -1; + if (mPacket) { if ( (mPos + sizeof(short)) <= mPacket->length ) { + value = ENET_NET_TO_HOST_16(*(short *)(mPacket->data + mPos)); mPos += sizeof(short); - return (short) SDLNet_Read16(&(mPacket->data[mPos - sizeof(short)])); } else { @@ -73,17 +76,19 @@ short MessageIn::readShort() // that requires less length. } } - return -1; + return value; } long MessageIn::readLong() { + long value = -1; + if (mPacket) { if ( (mPos + sizeof(long)) <= mPacket->length ) { + value = ENET_NET_TO_HOST_32(*(long *)(mPacket->data + mPos)); mPos += sizeof(long); - return (long) SDLNet_Read32(&(mPacket->data[mPos - sizeof(long)])); } else { @@ -91,7 +96,7 @@ long MessageIn::readLong() // that requires less length. } } - return -1; + return value; } std::string MessageIn::readString(int length) |
