# HG changeset patch # User John Bailey # Date 1267925222 0 # Node ID 7be0dbc0016860bdb60e75f0f8477efbb0026338 # Parent 537f8fd047c6517d504f2cb60cd7019bc68d253a Add purple_marshal_POINTER__POINTER(), which sadrul says should be used for the patch attached to #4598. Refs #4598. diff -r 537f8fd047c6 -r 7be0dbc00168 libpurple/signals.c --- a/libpurple/signals.c Sat Mar 06 21:38:42 2010 +0000 +++ b/libpurple/signals.c Sun Mar 07 01:27:02 2010 +0000 @@ -1009,6 +1009,21 @@ } void +purple_marshal_POINTER__POINTER( + PurpleCallback cb, va_list args, void *data, + void **return_val) +{ + gpointer ret_val; + void *arg1 = va_arg(args, void *); + + ret_val = ((gpointer(*)(void *, void *))cb)(arg1, data); + + if (return_val != NULL) + *return_val = ret_val; +} + + +void purple_marshal_POINTER__POINTER_INT( PurpleCallback cb, va_list args, void *data, void **return_val) diff -r 537f8fd047c6 -r 7be0dbc00168 libpurple/signals.h --- a/libpurple/signals.h Sat Mar 06 21:38:42 2010 +0000 +++ b/libpurple/signals.h Sun Mar 07 01:27:02 2010 +0000 @@ -355,6 +355,8 @@ void purple_marshal_BOOLEAN__INT_POINTER( PurpleCallback cb, va_list args, void *data, void **return_val); +void purple_marshal_POINTER__POINTER( + PurpleCallback cb, va_list args, void *data, void **return_val); void purple_marshal_POINTER__POINTER_INT( PurpleCallback cb, va_list args, void *data, void **return_val); void purple_marshal_POINTER__POINTER_INT64(