From ae9f13e776105aa83a756f8f009f78789dda1515 Mon Sep 17 00:00:00 2001 From: Thorvald Natvig Date: Fri, 20 Jul 2007 00:37:29 +0000 Subject: PacketDataStream bug for negative numbers > 32 bit git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@645 05730e5d-ab1b-0410-a4ac-84af385074fa --- src/PacketDataStream.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/PacketDataStream.h') diff --git a/src/PacketDataStream.h b/src/PacketDataStream.h index 8084392f9..981494aad 100644 --- a/src/PacketDataStream.h +++ b/src/PacketDataStream.h @@ -190,7 +190,6 @@ class PacketDataStream { PacketDataStream &operator >>(quint64 &i) { quint32 v = next(); - bool invert = false; if ((v & 0xF0) == 0xF0) { switch (v & 0xFC) { case 0xF0: @@ -200,9 +199,9 @@ class PacketDataStream { i=next() << 56 | next() << 48 | next() << 40 | next() << 32 | next() << 24 | next() << 16 | next() << 8 | next(); return *this; case 0xF8: - invert = true; - v = next(); - break; + *this >> i; + i = ~i; + return *this; case 0xFC: i=v & 0x03; i = ~i; @@ -222,8 +221,6 @@ class PacketDataStream { } else { i=(v & 0x7F); } - if (invert) - i = ~i; return *this; } -- cgit v1.2.3