1: #include "../h/rt.h"
2:
3: /*
4: * limit - explicit limitation initialization.
5: */
6:
7: limit(nargs, arg0)
8: int nargs;
9: struct descrip arg0;
10: {
11: DclSave
12: long l;
13:
14: SetBound;
15:
16: /*
17: * The limit is both passed and returned in arg0. The limit must
18: * be an integer. If the limit is 0, the expression being evaluated
19: * fails. If the limit is < 0, it is an error. Note that the
20: * result produced by limit is ultimately picked up by the lsusp
21: * function.
22: */
23: switch (cvint(&arg0, &l)) {
24: case T_INTEGER: mkint(l, &arg0); break;
25: #ifdef LONGS
26: case T_LONGINT: runerr(205, &arg0);
27: #endif LONGS
28: default: runerr(101, &arg0);
29: }
30:
31: if (l < 0)
32: runerr(205, &arg0);
33: if (l == 0)
34: fail();
35: ClearBound;
36: }
Defined functions
limit
defined in line
7;
never used