diff --git a/src/dbus_fast/_private/marshaller.pxd b/src/dbus_fast/_private/marshaller.pxd index 7ac3aaf..6995d68 100644 --- a/src/dbus_fast/_private/marshaller.pxd +++ b/src/dbus_fast/_private/marshaller.pxd @@ -3,9 +3,12 @@ import cython -cdef bytes PACKED_UINT32_ZERO cdef object PACK_UINT32 +cdef bytes PACKED_UINT32_ZERO +cdef bytes PACKED_BOOL_TRUE +cdef bytes PACKED_BOOL_FALSE + cdef class Marshaller: cdef object signature_tree diff --git a/src/dbus_fast/_private/marshaller.py b/src/dbus_fast/_private/marshaller.py index 3118900..ecfa259 100644 --- a/src/dbus_fast/_private/marshaller.py +++ b/src/dbus_fast/_private/marshaller.py @@ -5,6 +5,8 @@ from ..signature import SignatureType, Variant, get_signature_tree PACK_UINT32 = Struct(" int: written = self._align(4) - self._buf.extend(PACK_UINT32(int(boolean))) + self._buf += PACKED_BOOL_TRUE if boolean else PACKED_BOOL_FALSE return written + 4 def write_signature(self, signature: str, type_: SignatureType) -> int: