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
Last modified: 1984-11-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 766
Valid CSS Valid XHTML 1.0 Strict