diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2009-08-08 14:29:12 +0100 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-01-28 17:01:23 -0500 |
commit | 3171383ce9bac0c2718da4ce288db890d5d7bfda (patch) | |
tree | 2152b84a58ba1d891bdab215e8107e249aa00a4e | |
parent | 7cf332d34ea974b9781f47f4af4efca4de71b96a (diff) | |
download | dbus-3171383ce9bac0c2718da4ce288db890d5d7bfda.tar.gz |
Add an accessor for the loader's corruption reason
-rw-r--r-- | dbus/dbus-message-internal.h | 2 | ||||
-rw-r--r-- | dbus/dbus-message.c | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/dbus/dbus-message-internal.h b/dbus/dbus-message-internal.h index 7cd88d56..0134f8db 100644 --- a/dbus/dbus-message-internal.h +++ b/dbus/dbus-message-internal.h @@ -23,6 +23,7 @@ #ifndef DBUS_MESSAGE_INTERNAL_H #define DBUS_MESSAGE_INTERNAL_H +#include <dbus/dbus-marshal-validate.h> #include <dbus/dbus-message.h> #include <dbus/dbus-resources.h> #include <dbus/dbus-list.h> @@ -62,6 +63,7 @@ void _dbus_message_loader_putback_message_link (DBusMessageLoader DBusList *link); dbus_bool_t _dbus_message_loader_get_is_corrupted (DBusMessageLoader *loader); +DBusValidity _dbus_message_loader_get_corruption_reason (DBusMessageLoader *loader); void _dbus_message_loader_set_max_message_size (DBusMessageLoader *loader, long size); diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 0b81806f..272592e8 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -3785,6 +3785,21 @@ _dbus_message_loader_get_is_corrupted (DBusMessageLoader *loader) } /** + * Checks what kind of bad data confused the loader. + * + * @param loader the loader + * @returns why the loader is hosed, or DBUS_VALID if it isn't. + */ +DBusValidity +_dbus_message_loader_get_corruption_reason (DBusMessageLoader *loader) +{ + _dbus_assert ((loader->corrupted && loader->corruption_reason != DBUS_VALID) || + (!loader->corrupted && loader->corruption_reason == DBUS_VALID)); + + return loader->corruption_reason; +} + +/** * Sets the maximum size message we allow. * * @param loader the loader |