Mercurial > hg > CbC > old > device
comparison test/tmp6.c @ 0:d35df41eac69
Initial revision
author | kono |
---|---|
date | Thu, 13 Jan 2000 02:41:41 +0900 |
parents | |
children | bf602558130d |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d35df41eac69 |
---|---|
1 #include "stdio.h" | |
2 | |
3 int | |
4 main(ac,av) | |
5 int ac; | |
6 char *av[]; | |
7 { | |
8 int i; | |
9 | |
10 if(ac!=2) | |
11 return(0); | |
12 i=main0(ac,av,return,environment); | |
13 fprintf(stderr,"1: %s %d\n",av[0],i); | |
14 return i; | |
15 } | |
16 | |
17 int | |
18 main0(ac,av,ret,retenv) | |
19 int ac; | |
20 char *av[]; | |
21 code (*ret)(); | |
22 void *retenv; | |
23 { | |
24 int i,j,k; | |
25 i=123; | |
26 j=456; | |
27 k = atoi(av[1]); | |
28 fprintf(stderr,"2: av=%x av[0]=%x %s\n",av,av[0],av[0]); | |
29 goto code0(i,j,k,av,ret,retenv,return,environment); | |
30 } | |
31 | |
32 code code0(i,j,k,av,ret,retenv,ret1,ret1env) | |
33 int i,j,k; | |
34 char *av[]; | |
35 code (*ret)(); | |
36 void *retenv; | |
37 code (*ret1)(); | |
38 void *ret1env; | |
39 { | |
40 char *p; | |
41 p = av[0]; | |
42 fprintf(stderr,"3: i=%d j=%d k=%d av=%x p=%s\n",i,j,k,av,p); | |
43 goto code1(i,j,k,av,ret,retenv,ret1,ret1env); | |
44 } | |
45 | |
46 code code1(i,j,k,av,ret,retenv,ret1,ret1env) | |
47 int i,j,k; | |
48 char *av[]; | |
49 code (*ret)(); | |
50 void *retenv; | |
51 code (*ret1)(); | |
52 void *ret1env; | |
53 { | |
54 fprintf(stderr,"4: %s\n",av[0]); | |
55 goto code2(i,j,k,av,ret,retenv,ret1,ret1env); | |
56 } | |
57 | |
58 code code2(i,j,k,av,ret,retenv,ret1,ret1env) | |
59 int i,j,k; | |
60 char *av[]; | |
61 code (*ret)(); | |
62 void *retenv; | |
63 code (*ret1)(); | |
64 void *ret1env; | |
65 { | |
66 fprintf(stderr,"5: %s\n",av[0]); | |
67 fprintf(stderr,"5: i=%d j=%d k=%d av=%x\n",i,j,k,av); | |
68 if (k>3) | |
69 goto (*ret1)(1234),ret1env; | |
70 goto (*ret)(1234),retenv; | |
71 } |