All pastes #155851 Raw Edit

Miscellany

public text v1 · immutable
#155851 ·published 2006-08-31 11:35 UTC
rendered paste body
DBusMessageReader&
DBusMessageReader::operator>>(std::vector<char>& s) {
    if (!isOk()) return *this;
    DBusMessageIter it;
    if (DBUS_TYPE_ARRAY != dbus_message_iter_get_arg_type(&it)
        || DBUS_TYPE_BYTE != dbus_message_iter_get_element_type(&it)) {
        close();
        return *this;
    }

    DBusMessageIter sub;
    dbus_message_iter_recurse(&it, &sub);
    int length = dbus_message_iter_get_array_len(&sub);
    char* array;
    dbus_message_iter_get_fixed_array(&sub, &array, &length);
    s.assign(array, array+length);

    return *this;
}
~