summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@novell.com>2009-03-18 16:17:00 -0600
committerColin Walters <walters@verbum.org>2009-04-21 14:09:54 -0400
commit27f8a31fe68bff0faa5941a4ffac0a4ff4a2b5d4 (patch)
tree2562870a60c82a7e7283be0b1a8bf82ddee40b7b /dbus
parent099b5e59ea84d72bfe29a17e0934f6b2f492ddf3 (diff)
bfo20738 - Return a useful error message from dbus_signature_validate()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-signature.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/dbus/dbus-signature.c b/dbus/dbus-signature.c
index a8864f8b..c7f8d0e3 100644
--- a/dbus/dbus-signature.c
+++ b/dbus/dbus-signature.c
@@ -233,12 +233,18 @@ dbus_signature_validate (const char *signature,
{
DBusString str;
+ DBusValidity reason;
_dbus_string_init_const (&str, signature);
- if (_dbus_validate_signature (&str, 0, _dbus_string_get_length (&str)))
+ reason = _dbus_validate_signature_with_reason (&str, 0, _dbus_string_get_length (&str));
+
+ if (reason == DBUS_VALID)
return TRUE;
- dbus_set_error (error, DBUS_ERROR_INVALID_SIGNATURE, "Corrupt type signature");
- return FALSE;
+ else
+ {
+ dbus_set_error (error, DBUS_ERROR_INVALID_SIGNATURE, _dbus_validity_to_error_message (reason));
+ return FALSE;
+ }
}
/**