case DBUS_TYPE_BOOLEAN:
case DBUS_TYPE_INT32:
case DBUS_TYPE_UINT32:
+ case DBUS_TYPE_UNIX_FD:
{
p = _DBUS_ALIGN_ADDRESS (p, 4);
*((dbus_uint32_t*)p) = DBUS_UINT32_SWAP_LE_BE (*((dbus_uint32_t*)p));
sig_len = *p;
++p;
- _dbus_string_init_const_len (&sig, p, sig_len);
+ _dbus_string_init_const_len (&sig, (const char *) p, sig_len);
p += (sig_len + 1); /* 1 for nul */
}
break;
- case DBUS_TYPE_UNIX_FD:
- /* fds can only be passed on a local machine, so byte order must always match */
- _dbus_assert_not_reached("attempted to byteswap unix fds which makes no sense");
- break;
-
default:
_dbus_assert_not_reached ("invalid typecode in supposedly-validated signature");
break;
byteswap_body_helper (&reader, TRUE,
old_byte_order, new_byte_order,
- _dbus_string_get_data_len (value_str, value_pos, 0),
+ _dbus_string_get_udata_len (value_str, value_pos, 0),
NULL);
}