Mercurial > pidgin
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);