inbus

diff inbus.py @ 7:7bf7acf4225e

Added bool_unpacker.
author Eric Hopper <hopper@omnifarious.org>
date Tue, 26 Feb 2008 10:10:55 -0800
parents 59a9ca55098c
children
line diff
     1.1 --- a/inbus.py	Tue Feb 26 08:29:13 2008 -0800
     1.2 +++ b/inbus.py	Tue Feb 26 10:10:55 2008 -0800
     1.3 @@ -145,6 +145,13 @@
     1.4      result.append(unicode(buffer(s, newoffset, slen), 'utf-8'))
     1.5      return result, s, newoffset + slen
     1.6  
     1.7 +def bool_unpacker(dectup):
     1.8 +    result, s, offset = dectup
     1.9 +    if offset >= len(s):
    1.10 +        raise ValueError("The string passed in is too short for type spec.")
    1.11 +    result.append(True if ord(s[offset]) != 0 else False)
    1.12 +    return result, s, offset + 1
    1.13 +
    1.14  def pystruct_unpacker(spec, len, dectup):
    1.15      result, s, offset = dectup
    1.16      (upresult,) = _unpack(spec, buffer(s, offset, len))