Annotation of 42BSD/ingres/source/qrymod/tree.c, revision 1.1

1.1     ! root        1: # include      <ingres.h>
        !             2: # include      <tree.h>
        !             3: # include      <symbol.h>
        !             4: # include      "qrymod.h"
        !             5: # include      <sccs.h>
        !             6: 
        !             7: SCCSID(@(#)tree.c      7.1     2/5/81)
        !             8: 
        !             9: /*
        !            10: **  TREE -- create new tree node.
        !            11: **
        !            12: **     This is a stripped down version of the same thing in the
        !            13: **     parser.
        !            14: **
        !            15: **     It only knows about lengths of zero and two.
        !            16: **
        !            17: **     Parameters:
        !            18: **             lptr -- the left pointer.
        !            19: **             rptr -- the right pointer.
        !            20: **             typ -- the node type.
        !            21: **             len -- the node length.
        !            22: **             value -- the node value.
        !            23: **
        !            24: **     Returns:
        !            25: **             A pointer to the created node.
        !            26: **
        !            27: **     Side Effects:
        !            28: **             Space is taken from Qbuf.
        !            29: */
        !            30: 
        !            31: 
        !            32: QTREE *
        !            33: tree(lptr, rptr, typ, len, value)
        !            34: QTREE  *lptr;
        !            35: QTREE  *rptr;
        !            36: char   typ;
        !            37: int    len;
        !            38: int    value;
        !            39: {
        !            40:        register QTREE  *tptr;
        !            41:        extern char     *need();
        !            42:        register int    l;
        !            43: 
        !            44:        l = len;
        !            45: 
        !            46:        tptr = (QTREE *) need(Qbuf, l + QT_HDR_SIZ);
        !            47:        tptr->left = lptr;
        !            48:        tptr->right = rptr;
        !            49:        tptr->sym.type = typ;
        !            50:        tptr->sym.len = l;
        !            51: 
        !            52:        if (l > 0)
        !            53:                tptr->sym.value.sym_data.i2type = value;
        !            54:        return (tptr);
        !            55: }

unix.superglobalmegacorp.com

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