changeset 26938:f2e4bc583e52

Duh, it helps to use the right marshallers.
author Paul Aurich <paul@darkrain42.org>
date Fri, 22 May 2009 06:01:12 +0000
parents 74c9f4f79825
children e40a30c883cc
files libpurple/protocols/jabber/libxmpp.c libpurple/signals.c libpurple/signals.h
diffstat 3 files changed, 25 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/libxmpp.c	Fri May 22 05:31:46 2009 +0000
+++ b/libpurple/protocols/jabber/libxmpp.c	Fri May 22 06:01:12 2009 +0000
@@ -141,7 +141,7 @@
 			     purple_value_new_outgoing(PURPLE_TYPE_STRING));
 
 	purple_signal_register(plugin, "jabber-receiving-message",
-			purple_marshal_BOOLEAN__POINTER_POINTER_POINTER,
+			purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER,
 			purple_value_new(PURPLE_TYPE_BOOLEAN), 6,
 			purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION),
 			purple_value_new(PURPLE_TYPE_STRING), /* type */
@@ -169,13 +169,13 @@
 			purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_XMLNODE)); /* child */
 
 	purple_signal_register(plugin, "jabber-register-namespace-watcher",
-			purple_marshal_VOID__POINTER_POINTER_POINTER,
+			purple_marshal_VOID__POINTER_POINTER,
 			NULL, 2,
 			purple_value_new(PURPLE_TYPE_STRING),  /* node */
 			purple_value_new(PURPLE_TYPE_STRING)); /* namespace */
 
 	purple_signal_register(plugin, "jabber-unregister-namespace-watcher",
-			purple_marshal_VOID__POINTER_POINTER_POINTER,
+			purple_marshal_VOID__POINTER_POINTER,
 			NULL, 2,
 			purple_value_new(PURPLE_TYPE_STRING),  /* node */
 			purple_value_new(PURPLE_TYPE_STRING)); /* namespace */
--- a/libpurple/signals.c	Fri May 22 05:31:46 2009 +0000
+++ b/libpurple/signals.c	Fri May 22 06:01:12 2009 +0000
@@ -975,6 +975,26 @@
 }
 
 void
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(
+		PurpleCallback cb, va_list args, void *data, void **return_val)
+{
+	gboolean ret_val;
+	void *arg1 = va_arg(args, void *);
+	void *arg2 = va_arg(args, void *);
+	void *arg3 = va_arg(args, void *);
+	void *arg4 = va_arg(args, void *);
+	void *arg5 = va_arg(args, void *);
+	void *arg6 = va_arg(args, void *);
+
+	ret_val =
+		((gboolean (*)(void *, void *, void *, void *, void *, void *, void *))cb)(
+			arg1, arg2, arg3, arg4, arg5, arg6, data);
+
+	if (return_val != NULL)
+		*return_val = GINT_TO_POINTER(ret_val);
+}
+
+void
 purple_marshal_BOOLEAN__INT_POINTER(PurpleCallback cb, va_list args, void *data,
                                   void **return_val)
 {
--- a/libpurple/signals.h	Fri May 22 05:31:46 2009 +0000
+++ b/libpurple/signals.h	Fri May 22 06:01:12 2009 +0000
@@ -349,6 +349,8 @@
 		PurpleCallback cb, va_list args, void *data, void **return_val);
 void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT(
 		PurpleCallback cb, va_list args, void *data, void **return_val);
+void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(
+		PurpleCallback cb, va_list args, void *data, void **return_val);
 
 void purple_marshal_BOOLEAN__INT_POINTER(
 		PurpleCallback cb, va_list args, void *data, void **return_val);