/* testcall.c L. Stewart June 21, 1982 1:01 PM */ extern initpa(); extern wf(); extern wf1(); extern Call0(); extern Call1(); extern Call2(); extern apply(); extern chav(); extern getchar(); extern int pr1, pr2, pr3, pr4; int argv[8]; main() { initpa(); for (;;) { wf("straight calls\r"); print(proc1()); print(proc2(21)); print(proc3(31, 32)); print(proc4(41, 42, 43, 44, 45, 46)); wf("calln\r"); print(Call0(pr1)); print(Call1(pr2, 21)); print(Call2(pr3, 31, 32)); wf("apply\r"); print(apply(argv, pr1, 0)); argv[0] = 21; print(apply(argv, pr2, 1)); argv[0] = 31; argv[1] = 32; print(apply(argv, pr3, 2)); argv[0] = 41; argv[1] = 42; argv[2] = 43; argv[3] = 44; argv[4] = 45; argv[5] = 46; print(apply(argv, pr4, 6)); if (chav()) { getchar(); getchar(); }; }; }; print(x) int x; { wf1(" returns: %d\r", x); }; int proc1() { wf("p1"); return(10); }; int proc2(a1) int a1; { wf1("p2, one arg: %d", a1); return(20); }; int proc3(a1, a2) int a1, a2; { wf2("p3, two args: %d %d", a1, a2); return(30); }; int proc4(a1, a2, a3, a4, a5, a6) int a1, a2, a3, a4, a5, a6; { wf("p4, six args:"); wf1(" %d", a1); wf1(" %d", a2); wf1(" %d", a3); wf1(" %d", a4); wf1(" %d", a5); wf1(" %d", a6); return(40); };