repo.or.cz
/
mascara-docs.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
* tiny
[mascara-docs.git]
/
compilers
/
q3
/
lcc
/
src
/
.svn
/
text-base
/
event.c.svn-base
blob
4549e3f2cec64de54499533886b5fa3fec1d2d86
1
#include "c.h"
2
3
4
struct entry {
5
Apply func;
6
void *cl;
7
};
8
9
Events events;
10
void attach(Apply func, void *cl, List *list) {
11
struct entry *p;
12
13
NEW(p, PERM);
14
p->func = func;
15
p->cl = cl;
16
*list = append(p, *list);
17
}
18
void apply(List event, void *arg1, void *arg2) {
19
if (event) {
20
List lp = event;
21
do {
22
struct entry *p = lp->x;
23
(*p->func)(p->cl, arg1, arg2);
24
lp = lp->link;
25
} while (lp != event);
26
}
27
}
28