bfo20738 - Return a useful error message from dbus_signature_validate()
authorFederico Mena Quintero <federico@novell.com>
Wed, 18 Mar 2009 22:17:00 +0000 (16:17 -0600)
committerColin Walters <walters@verbum.org>
Wed, 6 May 2009 16:51:18 +0000 (12:51 -0400)
Signed-off-by: Federico Mena Quintero <federico@novell.com>
dbus/dbus-signature.c

index a8864f8..c7f8d0e 100644 (file)
@@ -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;
+    }
 }
 
 /**