Mercurial > pidgin.yaz
comparison src/signals.c @ 8140:47046ceedf0b
[gaim-migrate @ 8846]
Thanks to Zaheer Merali for pointing this out ... PPC/AMD64/etc.
should be markedly more usable now. ;-)
committer: Tailor Script <tailor@pidgin.im>
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Mon, 19 Jan 2004 17:40:02 +0000 |
parents | fb0eab758560 |
children | f2919ca98e78 |
comparison
equal
deleted
inserted
replaced
8139:d09cb56dcbea | 8140:47046ceedf0b |
---|---|
483 GaimInstanceData *instance_data; | 483 GaimInstanceData *instance_data; |
484 GaimSignalData *signal_data; | 484 GaimSignalData *signal_data; |
485 GaimSignalHandlerData *handler_data; | 485 GaimSignalHandlerData *handler_data; |
486 void *ret_val = NULL; | 486 void *ret_val = NULL; |
487 GList *l, *l_next; | 487 GList *l, *l_next; |
488 va_list tmp; | |
488 | 489 |
489 g_return_val_if_fail(instance != NULL, NULL); | 490 g_return_val_if_fail(instance != NULL, NULL); |
490 g_return_val_if_fail(signal != NULL, NULL); | 491 g_return_val_if_fail(signal != NULL, NULL); |
491 | 492 |
492 instance_data = | 493 instance_data = |
508 { | 509 { |
509 l_next = l->next; | 510 l_next = l->next; |
510 | 511 |
511 handler_data = (GaimSignalHandlerData *)l->data; | 512 handler_data = (GaimSignalHandlerData *)l->data; |
512 | 513 |
514 va_copy(tmp, args); | |
513 if (handler_data->use_vargs) | 515 if (handler_data->use_vargs) |
514 { | 516 { |
515 ret_val = ((void *(*)(va_list, void *))handler_data->cb)( | 517 ret_val = ((void *(*)(va_list, void *))handler_data->cb)( |
516 args, handler_data->data); | 518 tmp, handler_data->data); |
517 } | 519 } |
518 else | 520 else |
519 { | 521 { |
520 signal_data->marshal(handler_data->cb, args, | 522 signal_data->marshal(handler_data->cb, tmp, |
521 handler_data->data, &ret_val); | 523 handler_data->data, &ret_val); |
522 } | 524 } |
525 va_end(tmp); | |
523 } | 526 } |
524 | 527 |
525 return ret_val; | 528 return ret_val; |
526 } | 529 } |
527 | 530 |