Mercurial > hg > CbC > old > device
diff test/test2.c @ 604:ff033b46cac5
*** empty log message ***
author | kono |
---|---|
date | Mon, 30 Jan 2006 13:42:12 +0900 |
parents | |
children | 682c8ec38d45 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test2.c Mon Jan 30 13:42:12 2006 +0900 @@ -0,0 +1,42 @@ +#include <stdio.h> +int sender_bit; + +code (*ret)(int); +void *env; + +struct packet { + int bit; + char *msg; + code (*next)(); +}; + +code print_struct(struct packet pkt) +{ + printf("bit: %d\n", pkt.bit); + printf("message: %s\n", pkt.msg); + goto ret(0), env; +} + +code initSender(int init_bit, struct packet pkt) +{ + sender_bit = init_bit; + pkt.next = print_struct; + printf("initSender bit: %d\n", pkt.bit); + printf("initSender message: %s\n", pkt.msg); + printf("sender_bit: %d\n", sender_bit); + goto print_struct(pkt); +} + +int main(void) +{ + struct packet pkt; + pkt.bit = 1; + pkt.msg = "hogehoge"; + pkt.next = initSender; + ret = return; + env = environment; + printf("main bit: %d\n", pkt.bit); + printf("main message: %s\n", pkt.msg); + goto initSender(0, pkt); +} +