Mercurial > pidgin.yaz
view console/libgnt/gntmarshal.c @ 14102:14e14f1ef1d8
[gaim-migrate @ 16732]
Jabber crashed when getting info from someone on your buddy list
if the JID consists only of the domain identifer. For example,
add "quser.alpha.qunu.com" to your buddy list then get their info.
This fixes the crashing. I'm not really sure if the fix is correct.
Can someone familiar with Jabber please look over this?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 13 Aug 2006 05:50:19 +0000 |
parents | cd2da4b079cf |
children | 0387a167f342 |
line wrap: on
line source
#include "gntmarshal.h" void gnt_closure_marshal_BOOLEAN__STRING(GClosure *closure, GValue *ret_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*func) (gpointer data1, const char *arg1, gpointer data2); register func callback; register GCClosure *cc = (GCClosure*)closure; register gpointer data1, data2; gboolean ret; g_return_if_fail(ret_value != NULL); g_return_if_fail(n_param_values == 2); if (G_CCLOSURE_SWAP_DATA(closure)) { data1 = closure->data; data2 = g_value_peek_pointer(param_values + 0); } else { data1 = g_value_peek_pointer(param_values + 0); data2 = closure->data; } callback = (func) (marshal_data ? marshal_data : cc->callback); ret = callback(data1, g_value_get_string(param_values + 1) , data2); g_value_set_boolean(ret_value, ret); } void gnt_closure_marshal_VOID__INT_INT_INT_INT(GClosure *closure, GValue *ret_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*func) (gpointer data1, int, int, int, int, gpointer data2); register func callback; register GCClosure *cc = (GCClosure*)closure; register gpointer data1, data2; g_return_if_fail(n_param_values == 5); if (G_CCLOSURE_SWAP_DATA(closure)) { data1 = closure->data; data2 = g_value_peek_pointer(param_values + 0); } else { data1 = g_value_peek_pointer(param_values + 0); data2 = closure->data; } callback = (func) (marshal_data ? marshal_data : cc->callback); callback(data1, g_value_get_int(param_values + 1) , g_value_get_int(param_values + 2) , g_value_get_int(param_values + 3) , g_value_get_int(param_values + 4) , data2); } void gnt_closure_marshal_VOID__INT_INT(GClosure *closure, GValue *ret_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*func) (gpointer data1, int, int, gpointer data2); register func callback; register GCClosure *cc = (GCClosure*)closure; register gpointer data1, data2; g_return_if_fail(n_param_values == 3); if (G_CCLOSURE_SWAP_DATA(closure)) { data1 = closure->data; data2 = g_value_peek_pointer(param_values + 0); } else { data1 = g_value_peek_pointer(param_values + 0); data2 = closure->data; } callback = (func) (marshal_data ? marshal_data : cc->callback); callback(data1, g_value_get_int(param_values + 1) , g_value_get_int(param_values + 2) , data2); } void gnt_closure_marshal_VOID__POINTER_POINTER(GClosure *closure, GValue *ret_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*func) (gpointer data1, gpointer, gpointer, gpointer data2); register func callback; register GCClosure *cc = (GCClosure*)closure; register gpointer data1, data2; g_return_if_fail(n_param_values == 3); if (G_CCLOSURE_SWAP_DATA(closure)) { data1 = closure->data; data2 = g_value_peek_pointer(param_values + 0); } else { data1 = g_value_peek_pointer(param_values + 0); data2 = closure->data; } callback = (func) (marshal_data ? marshal_data : cc->callback); callback(data1, g_value_get_pointer(param_values + 1) , g_value_get_pointer(param_values + 2) , data2); } void gnt_closure_marshal_BOOLEAN__INT_INT(GClosure *closure, GValue *ret_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*func) (gpointer data1, int, int, gpointer data2); register func callback; register GCClosure *cc = (GCClosure*)closure; register gpointer data1, data2; gboolean ret; g_return_if_fail(ret_value != NULL); g_return_if_fail(n_param_values == 3); if (G_CCLOSURE_SWAP_DATA(closure)) { data1 = closure->data; data2 = g_value_peek_pointer(param_values + 0); } else { data1 = g_value_peek_pointer(param_values + 0); data2 = closure->data; } callback = (func) (marshal_data ? marshal_data : cc->callback); ret = callback(data1, g_value_get_int(param_values + 1) , g_value_get_int(param_values + 2) , data2); g_value_set_boolean(ret_value, ret); }