mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 12:53:42 +02:00
added signal_continue() for continuing signal emission with new parameters.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2730 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
4b45f190a2
commit
da867d4d68
3 changed files with 67 additions and 13 deletions
|
|
@ -76,6 +76,25 @@ CODE:
|
|||
}
|
||||
signal_emit(signal, items-1, p[0], p[1], p[2], p[3], p[4], p[5]);
|
||||
|
||||
void
|
||||
signal_continue(...)
|
||||
CODE:
|
||||
void *p[SIGNAL_MAX_ARGUMENTS];
|
||||
int n;
|
||||
|
||||
memset(p, 0, sizeof(p));
|
||||
for (n = 0; n < items && n < SIGNAL_MAX_ARGUMENTS; n++) {
|
||||
if (SvPOKp(ST(n)))
|
||||
p[n] = SvPV(ST(n), PL_na);
|
||||
else if (irssi_is_ref_object(ST(n)))
|
||||
p[n] = irssi_ref_object(ST(n));
|
||||
else if (SvROK(ST(n)))
|
||||
p[n] = (void *) SvIV((SV*)SvRV(ST(n)));
|
||||
else
|
||||
p[n] = NULL;
|
||||
}
|
||||
signal_continue(items, p[0], p[1], p[2], p[3], p[4], p[5]);
|
||||
|
||||
void
|
||||
signal_add(...)
|
||||
CODE:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue