1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-15 14:46:29 +09:00

Merge pull request #31 from zsebastian/master

Fixed sublte bug in ReadUInt64(int) and PeekUInt64(int)
This commit is contained in:
lidgren
2015-08-04 13:46:45 +02:00
3 changed files with 10 additions and 4 deletions

View File

@@ -237,7 +237,7 @@ namespace Lidgren.Network
else
{
retval = NetBitWriter.ReadUInt32(m_data, 32, m_readPosition);
retval |= NetBitWriter.ReadUInt32(m_data, numberOfBits - 32, m_readPosition) << 32;
retval |= (UInt64)NetBitWriter.ReadUInt32(m_data, numberOfBits - 32, m_readPosition + 32) << 32;
}
return retval;
}

View File

@@ -315,7 +315,7 @@ namespace Lidgren.Network
else
{
retval = NetBitWriter.ReadUInt32(m_data, 32, m_readPosition);
retval |= NetBitWriter.ReadUInt32(m_data, numberOfBits - 32, m_readPosition) << 32;
retval |= (UInt64)NetBitWriter.ReadUInt32(m_data, numberOfBits - 32, m_readPosition + 32) << 32;
}
m_readPosition += numberOfBits;
return retval;

View File

@@ -43,6 +43,7 @@ namespace UnitTests
msg.Write("duke of earl");
msg.Write((byte)43);
msg.Write((ushort)44);
msg.Write(UInt64.MaxValue, 64);
msg.Write(true);
msg.WritePadBits();
@@ -83,8 +84,13 @@ namespace UnitTests
throw new NetException("Read/write failure");
bdr.Append(inc.ReadUInt16());
if (inc.PeekUInt64(64) != UInt64.MaxValue)
throw new NetException("Read/write failure");
bdr.Append(inc.ReadUInt64());
bdr.Append(inc.ReadBoolean());
inc.SkipPadBits();
bdr.Append(inc.ReadSingle());
@@ -96,7 +102,7 @@ namespace UnitTests
bdr.Append(inc.ReadVariableUInt32());
bdr.Append(inc.ReadVariableInt64());
if (bdr.ToString().Equals("False-342duke of earl4344True56784521159980224614-4747000048-49"))
if (bdr.ToString().Equals("False-342duke of earl434418446744073709551615True56784521159980224614-4747000048-49"))
Console.WriteLine("Read/write tests OK");
else
throw new NetException("Read/write tests FAILED!");