Annotation of 43BSD/contrib/icon/functions/delete.c, revision 1.1

1.1     ! root        1: #include "../h/rt.h"
        !             2: #ifdef SETS
        !             3: /*
        !             4:  * delete(S,x) - delete element x from set S if it is there
        !             5:  *  (always succeeds and returns S).
        !             6:  */
        !             7: 
        !             8: Xdelete(nargs,arg2,arg1,arg0)
        !             9: int nargs;
        !            10: struct descrip arg0, arg1, arg2;
        !            11:    {
        !            12:    register struct descrip *pd;
        !            13:    int res ;
        !            14:    extern struct descrip *memb();
        !            15: 
        !            16:    DeRef(arg1)
        !            17:    DeRef(arg2)
        !            18:    arg0 = arg1;
        !            19: 
        !            20:    if (QUAL(arg1) || TYPE(arg1) != T_SET)
        !            21:        runerr(119,&arg1);
        !            22:       /*
        !            23:       * The technique and philosophy here are the same
        !            24:       *  as used in insert.c - see comment there.
        !            25:       */
        !            26:    pd = memb(BLKLOC(arg1),&arg2,hash(&arg2),&res);
        !            27:    if (res == 1) {
        !            28:       /*
        !            29:       * The element is there so delete it.
        !            30:       */
        !            31:       *pd = BLKLOC(*pd)->selem.sblink;
        !            32:       (BLKLOC(arg1)->set.setsize)--;
        !            33:       }
        !            34:    }
        !            35: 
        !            36: Procblock(delete,2)
        !            37: 
        !            38: #else SETS
        !            39: char junk;                     /* prevent null object file  */
        !            40: #endif SETS

unix.superglobalmegacorp.com

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