Annotation of 43BSD/contrib/icon/lib/limit.c, revision 1.1.1.1

1.1       root        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:    }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.