From 9c8ec379387476c8c8c57aa01bfbcaec85c424d6 Mon Sep 17 00:00:00 2001 From: Joel Bender Date: Sun, 2 Aug 2015 23:12:58 -0400 Subject: [PATCH] change all the signed octet pack/unpack to unsigned --- py25/bacpypes/pdu.py | 26 +++++++++++++------------- py25/bacpypes/primitivedata.py | 2 +- py27/bacpypes/bvllservice.py | 2 +- py27/bacpypes/pdu.py | 10 +++++----- py27/bacpypes/primitivedata.py | 2 +- py34/bacpypes/bvllservice.py | 2 +- py34/bacpypes/pdu.py | 10 +++++----- py34/bacpypes/primitivedata.py | 2 +- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/py25/bacpypes/pdu.py b/py25/bacpypes/pdu.py index 954802c..6bcb179 100755 --- a/py25/bacpypes/pdu.py +++ b/py25/bacpypes/pdu.py @@ -83,7 +83,7 @@ class Address: if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, str): @@ -133,7 +133,7 @@ class Address: if (addr > 255): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^\d+:[*]$", addr): @@ -161,7 +161,7 @@ class Address: self.addrType = Address.remoteStationAddr self.addrNet = net - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^0x([0-9A-Fa-f][0-9A-Fa-f])+$",addr): @@ -337,17 +337,17 @@ class LocalStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 - elif isinstance(addr, (bytes, bytearray)): - if _debug: Address._debug(" - bytes or bytearray") + elif isinstance(addr, str): + if _debug: Address._debug(" - string (bytes)") - self.addrAddr = bytes(addr) + self.addrAddr = addr self.addrLen = len(addr) else: - raise TypeError("integer, bytes or bytearray required") + raise TypeError("integer or string (bytes) required") # # RemoteStation @@ -366,17 +366,17 @@ class RemoteStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 - elif isinstance(addr, (bytes, bytearray)): - if _debug: Address._debug(" - bytes or bytearray") + elif isinstance(addr, str): + if _debug: Address._debug(" - string (bytes)") - self.addrAddr = bytes(addr) + self.addrAddr = addr self.addrLen = len(addr) else: - raise TypeError("integer, bytes or bytearray required") + raise TypeError("integer or string (bytes) required") # # LocalBroadcast diff --git a/py25/bacpypes/primitivedata.py b/py25/bacpypes/primitivedata.py index 55afe72..83f4ebf 100755 --- a/py25/bacpypes/primitivedata.py +++ b/py25/bacpypes/primitivedata.py @@ -189,7 +189,7 @@ class Tag(object): # context booleans have value in data if (dataType == Tag.booleanAppTag): - return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('b', self.tagData)[0], '') + return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('B', self.tagData)[0], '') else: return ApplicationTag(dataType, self.tagData) diff --git a/py27/bacpypes/bvllservice.py b/py27/bacpypes/bvllservice.py index b81f4eb..ffbfb25 100755 --- a/py27/bacpypes/bvllservice.py +++ b/py27/bacpypes/bvllservice.py @@ -141,7 +141,7 @@ class UDPMultiplexer: return # extract the first octet - msg_type = struct.unpack('b', pdu.pduData[:1])[0] + msg_type = struct.unpack('B', pdu.pduData[:1])[0] # check for the message type if msg_type == 0x01: diff --git a/py27/bacpypes/pdu.py b/py27/bacpypes/pdu.py index 0e4f8fa..a275eec 100755 --- a/py27/bacpypes/pdu.py +++ b/py27/bacpypes/pdu.py @@ -84,7 +84,7 @@ class Address: if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, str): @@ -134,7 +134,7 @@ class Address: if (addr > 255): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^\d+:[*]$", addr): @@ -162,7 +162,7 @@ class Address: self.addrType = Address.remoteStationAddr self.addrNet = net - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^0x([0-9A-Fa-f][0-9A-Fa-f])+$",addr): @@ -336,7 +336,7 @@ class LocalStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, (bytes, bytearray)): @@ -365,7 +365,7 @@ class RemoteStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, (bytes, bytearray)): diff --git a/py27/bacpypes/primitivedata.py b/py27/bacpypes/primitivedata.py index 5a10246..c9464a6 100755 --- a/py27/bacpypes/primitivedata.py +++ b/py27/bacpypes/primitivedata.py @@ -189,7 +189,7 @@ class Tag(object): # context booleans have value in data if (dataType == Tag.booleanAppTag): - return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('b', self.tagData)[0], b'') + return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('B', self.tagData)[0], b'') else: return ApplicationTag(dataType, self.tagData) diff --git a/py34/bacpypes/bvllservice.py b/py34/bacpypes/bvllservice.py index b81f4eb..ffbfb25 100755 --- a/py34/bacpypes/bvllservice.py +++ b/py34/bacpypes/bvllservice.py @@ -141,7 +141,7 @@ class UDPMultiplexer: return # extract the first octet - msg_type = struct.unpack('b', pdu.pduData[:1])[0] + msg_type = struct.unpack('B', pdu.pduData[:1])[0] # check for the message type if msg_type == 0x01: diff --git a/py34/bacpypes/pdu.py b/py34/bacpypes/pdu.py index 09f5d09..9089e36 100755 --- a/py34/bacpypes/pdu.py +++ b/py34/bacpypes/pdu.py @@ -84,7 +84,7 @@ class Address: if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, (bytes, bytearray)): @@ -150,7 +150,7 @@ class Address: if (addr > 255): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^\d+:[*]$", addr): @@ -178,7 +178,7 @@ class Address: self.addrType = Address.remoteStationAddr self.addrNet = net - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif re.match(r"^0x([0-9A-Fa-f][0-9A-Fa-f])+$",addr): @@ -351,7 +351,7 @@ class LocalStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, (bytes, bytearray)): @@ -380,7 +380,7 @@ class RemoteStation(Address): if (addr < 0) or (addr >= 256): raise ValueError("address out of range") - self.addrAddr = struct.pack('b', addr) + self.addrAddr = struct.pack('B', addr) self.addrLen = 1 elif isinstance(addr, (bytes, bytearray)): diff --git a/py34/bacpypes/primitivedata.py b/py34/bacpypes/primitivedata.py index 6539e3a..7425a49 100755 --- a/py34/bacpypes/primitivedata.py +++ b/py34/bacpypes/primitivedata.py @@ -189,7 +189,7 @@ class Tag(object): # context booleans have value in data if (dataType == Tag.booleanAppTag): - return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('b', self.tagData)[0], b'') + return Tag(Tag.applicationTagClass, Tag.booleanAppTag, struct.unpack('B', self.tagData)[0], b'') else: return ApplicationTag(dataType, self.tagData)