annotate test/test2.c @ 604:ff033b46cac5

*** empty log message ***
author kono
date Mon, 30 Jan 2006 13:42:12 +0900
parents
children 682c8ec38d45
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
1 #include <stdio.h>
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
2 int sender_bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
3
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
4 code (*ret)(int);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
5 void *env;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
6
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
7 struct packet {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
8 int bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
9 char *msg;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
10 code (*next)();
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
11 };
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
12
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
13 code print_struct(struct packet pkt)
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
14 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
15 printf("bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
16 printf("message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
17 goto ret(0), env;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
18 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
19
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
20 code initSender(int init_bit, struct packet pkt)
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
21 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
22 sender_bit = init_bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
23 pkt.next = print_struct;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
24 printf("initSender bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
25 printf("initSender message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
26 printf("sender_bit: %d\n", sender_bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
27 goto print_struct(pkt);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
28 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
29
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
30 int main(void)
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
31 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
32 struct packet pkt;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
33 pkt.bit = 1;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
34 pkt.msg = "hogehoge";
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
35 pkt.next = initSender;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
36 ret = return;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
37 env = environment;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
38 printf("main bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
39 printf("main message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
40 goto initSender(0, pkt);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
41 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
42