0
|
1 #include "stdio.h"
|
|
2
|
|
3 int
|
|
4 main(ac,av)
|
|
5 int ac;
|
|
6 char *av[];
|
|
7 {
|
|
8 int i;
|
|
9 i=main0(ac,av);
|
|
10 fprintf(stderr,"1: %s %d\n",av[0],i);
|
|
11 return i;
|
|
12 }
|
|
13
|
|
14 int
|
|
15 main0(ac,av)
|
|
16 int ac;
|
|
17 char *av[];
|
|
18 {
|
|
19 int i,j,k;
|
|
20 i=123;
|
|
21 j=456;
|
|
22 k=789;
|
|
23 fprintf(stderr,"2: av=%x av[0]=%x %s\n",av,av[0],av[0]);
|
|
24 goto code0(i,j,k,av,return,environment);
|
|
25 }
|
|
26
|
|
27 code code0(i,j,k,av,ret,retenv)
|
|
28 int i,j,k;
|
|
29 char *av[];
|
|
30 code (*ret)();
|
|
31 void *retenv;
|
|
32 {
|
|
33 char *p;
|
|
34 p = av[0];
|
|
35 fprintf(stderr,"3: i=%d j=%d k=%d av=%x p=%s\n",i,j,k,av,p);
|
|
36 goto code1(i,j,k,av,ret,retenv);
|
|
37 }
|
|
38
|
|
39 code code1(i,j,k,av,ret,retenv)
|
|
40 int i,j,k;
|
|
41 char *av[];
|
|
42 code (*ret)();
|
|
43 void *retenv;
|
|
44 {
|
|
45 fprintf(stderr,"4: %s\n",av[0]);
|
|
46 goto code2(i,j,k,av,ret,retenv);
|
|
47 }
|
|
48
|
|
49 code code2(i,j,k,av,ret,retenv)
|
|
50 int i,j,k;
|
|
51 char *av[];
|
|
52 code (*ret)();
|
|
53 void *retenv;
|
|
54 {
|
|
55 fprintf(stderr,"5: %s\n",av[0]);
|
|
56 fprintf(stderr,"5: i=%d j=%d k=%d av=%x\n",i,j,k,av);
|
|
57 goto (*ret)(1234),retenv;
|
|
58 }
|