Annotation of 43BSD/ingres/source/ctlmod/setp.c, revision 1.1.1.1

1.1       root        1: # include      "ctlmod.h"
                      2: # include      <ingres.h>
                      3: # include      <tree.h>
                      4: # include      <aux.h>
                      5: # include      <sccs.h>
                      6: 
                      7: SCCSID(@(#)setp.c      8.1     12/31/84)
                      8: 
                      9: /*
                     10: **  SETP -- set parameter
                     11: **
                     12: **     Sets a parameter, to be later sent by 'call' to whomever.
                     13: **
                     14: **     Parameters:
                     15: **             type -- parameter type.
                     16: **                     PV_STRING -- a string, 'len' is ignored.
                     17: **                     PV_TUPLE -- a tuple of length 'len'.
                     18: **                     PV_QTREE -- a query tree pointer, 'len'
                     19: **                             is ignored.
                     20: **                     PV_INT -- an integer, 'len' is ignored.
                     21: **             val -- the value (real value if PV_INT, pointer
                     22: **                     otherwise).
                     23: **             len -- the length of the tuple in PV_TUPLE mode.
                     24: **
                     25: **     Returns:
                     26: **             none
                     27: **
                     28: **     Side Effects:
                     29: **             Adjusts Ctx.ctx_pc & Ctx.ctx_pv.
                     30: **
                     31: **     Trace Flags:
                     32: **             4.8 - 4.15
                     33: */
                     34: 
                     35: setp(type, val, len)
                     36: register int   type;
                     37: char           *val;
                     38: register int   len;
                     39: {
                     40:        register PARM   *pp;
                     41:        register char   *newp;
                     42:        extern char     *need();
                     43: 
                     44:        /*
                     45:        **  Check the magic bounds.
                     46:        */
                     47: 
                     48:        if (!Ctx.ctx_init)
                     49: /*
                     50:                pp = &Resp.resp_rval;
                     51: */             syserr("setp: no initp");
                     52:        else if (Ctx.ctx_pc >= PV_MAXPC)
                     53:                syserr("setp: overflow");
                     54:        else
                     55:                pp = &Ctx.ctx_pv[Ctx.ctx_pc++];
                     56: 
                     57:        /*
                     58:        **  Figure out the length from the type.
                     59:        */
                     60: 
                     61:        switch (type)
                     62:        {
                     63:          case PV_STR:
                     64:                len = length(val) + 1;
                     65:                newp = need(Qbuf, len);
                     66:                bmove(val, newp, len);
                     67:                pp->pv_val.pv_str = newp;
                     68:                break;
                     69:        
                     70:          case PV_TUPLE:
                     71:                pp->pv_val.pv_tuple = (char *) val;
                     72:                break;
                     73:        
                     74:          case PV_QTREE:
                     75:                len = sizeof pp->pv_val.pv_qtree;
                     76:                pp->pv_val.pv_qtree = (QTREE *) val;
                     77:                break;
                     78: 
                     79:          case PV_INT:
                     80:                len = sizeof (short);
                     81:                pp->pv_val.pv_int = (short) val;
                     82:                break;
                     83: 
                     84:        
                     85:          default:
                     86:                syserr("setp: type %d", type);
                     87:        }
                     88: 
                     89:        /*
                     90:        **  Set up the parameter.
                     91:        */
                     92: 
                     93:        pp->pv_type = type;
                     94:        pp->pv_len = len;
                     95: 
                     96: # ifdef xCTR1
                     97:        if (tTf(4, 8))
                     98:        {
                     99:                lprintf("setp: ");
                    100:                pr_parm(pp);
                    101:        }
                    102: # endif
                    103: }

unix.superglobalmegacorp.com

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