summaryrefslogtreecommitdiff
path: root/src/net/messagein.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/messagein.cpp')
-rw-r--r--src/net/messagein.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp
index 8da02550..783cbf11 100644
--- a/src/net/messagein.cpp
+++ b/src/net/messagein.cpp
@@ -35,37 +35,33 @@ MessageIn::MessageIn(const char *data, int length):
mId = readShort();
}
-MessageIn::~MessageIn()
+int MessageIn::readByte()
{
-}
-
-char MessageIn::readByte()
-{
- char value = -1;
+ int value = -1;
if (mPos < mLength)
{
- value = mData[mPos];
+ value = (unsigned char)mData[mPos];
}
mPos += 1;
return value;
}
-short MessageIn::readShort()
+int MessageIn::readShort()
{
- short value = -1;
+ int value = -1;
if (mPos + 2 <= mLength)
{
uint16_t t;
memcpy(&t, mData + mPos, 2);
- value = ENET_NET_TO_HOST_16(t);
+ value = (unsigned short)ENET_NET_TO_HOST_16(t);
}
mPos += 2;
return value;
}
-long MessageIn::readLong()
+int MessageIn::readLong()
{
- long value = -1;
+ int value = -1;
if (mPos + 4 <= mLength)
{
uint32_t t;
@@ -79,14 +75,16 @@ long MessageIn::readLong()
std::string MessageIn::readString(int length)
{
// Get string length
- if (length < 0) {
+ if (length < 0)
+ {
length = readShort();
}
// Make sure the string isn't erroneous
- if (length < 0 || mPos + length > mLength) {
+ if (length < 0 || mPos + length > mLength)
+ {
mPos = mLength + 1;
- return "";
+ return std::string();
}
// Read the string