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