Commit | Line | Data |
---|---|---|
2f444e0b PK |
1 | static char *sccsid = "@(#)call.c 1.1 (Berkeley) %G%"; |
2 | /* Copyright (c) 1979 Regents of the University of California */ | |
3 | # | |
4 | /* | |
5 | * pxp - Pascal execution profiler | |
6 | * | |
7 | * Bill Joy UCB | |
8 | * Version 1.2 January 1979 | |
9 | */ | |
10 | ||
11 | #include "0.h" | |
12 | #include "tree.h" | |
13 | ||
14 | /* | |
15 | * Procedure or function call | |
16 | */ | |
17 | call(p, argv) | |
18 | register int *argv; | |
19 | { | |
20 | register *al; | |
21 | ||
22 | ppid(p); | |
23 | if (argv != NIL) { | |
24 | ppbra("(("+1); /* \exapropos\estrange\r */ | |
25 | for (;;) { | |
26 | al = argv[1]; | |
27 | if (al[0] == T_WEXP) { | |
28 | rvalue(al[1], NIL); | |
29 | if (al[2] != NIL) { | |
30 | ppsep(": "); | |
31 | rvalue(al[2], NIL); | |
32 | } | |
33 | if (al[3] == OCT || al[3] == HEX) { | |
34 | ppspac(); | |
35 | ppkw(al[3] == OCT ? "oct" : "hex"); | |
36 | } else if (al[3] != NIL) { | |
37 | ppsep(": "); | |
38 | rvalue(al[3], NIL); | |
39 | } | |
40 | } else | |
41 | rvalue(argv[1], NIL); | |
42 | argv = argv[2]; | |
43 | if (argv == NIL) | |
44 | break; | |
45 | ppsep(", "); | |
46 | } | |
47 | ppket(")"); | |
48 | } | |
49 | } |