Annotation of 43BSD/ingres/source/libq/IIn_get.c, revision 1.1

1.1     ! root        1: # include      <ingres.h>
        !             2: # include      <symbol.h>
        !             3: # include      "IIglobals.h"
        !             4: # include      <sccs.h>
        !             5: 
        !             6: SCCSID(@(#)IIn_get.c   8.1     12/31/84)
        !             7: 
        !             8: 
        !             9: /*
        !            10: **  IIn_get -- Routine to check if there is a next
        !            11: **     tuple coming up the data pipe in a retrieve.
        !            12: **     Loads IIr_sym with the length and type of
        !            13: **     the next domain. 
        !            14: **
        !            15: **     Returns:
        !            16: **             0 -- on error or end of tuple
        !            17: **             1 -- otherwise
        !            18: **
        !            19: */
        !            20: 
        !            21: 
        !            22: IIn_get(file_name, line_no)
        !            23: char           *file_name;
        !            24: int            line_no;
        !            25: {
        !            26:        register struct retsym  *ret;
        !            27: 
        !            28:        if (IIproc_name = file_name)
        !            29:                IIline_no = line_no;
        !            30: 
        !            31: #      ifdef xATR1
        !            32:        if (IIdebug)
        !            33:        {
        !            34:                printf("%s ent ", IIproc_name ? IIproc_name : "");
        !            35:                printf("IIn_get : IIdomains %d IIr_sym type, len %d %d IIerrflag %d\n",
        !            36:                IIdomains, IIr_sym.type, IIr_sym.len, IIerrflag);
        !            37:        }
        !            38: #      endif
        !            39: 
        !            40:        while (IIpb.pb_type != PB_REG)
        !            41:        {
        !            42:                IIreadinput(&IIpb);
        !            43:                if (bitset(IIpb.pb_stat, PB_INFO))
        !            44:                        IIpb_prime(&IIpb, PB_NOTYPE);
        !            45:                else
        !            46:                        return (0);
        !            47:        }
        !            48: 
        !            49:        IIdomains = 0;
        !            50:        /* in case of overflow error, a tuple has been skipped */
        !            51:        if (IIerrflag == 1001)
        !            52:                IIerrflag = 0;
        !            53:        if (IIerrflag)
        !            54:                return (0);
        !            55:        
        !            56:        ret = &IIr_sym;
        !            57:        if (ret->type && ret->type != EOTUP)
        !            58:                IIsyserr("bad type in IIn_get : %d", ret->type);
        !            59:        
        !            60:        /* read next type, length pair */
        !            61:        if (IIpb_get(&IIpb, ret, 2) != 2)
        !            62:                IIsyserr("IIrdpipe error in IIn_get");
        !            63: 
        !            64:        if (ret->type == EXIT)
        !            65:                return (0);
        !            66: 
        !            67:        return (1);
        !            68: }
        !            69: 
        !            70: /*
        !            71: **  IIerrtest -- Test if an error occurred within a retrieve.
        !            72: **
        !            73: **     Returns:
        !            74: **             0 -- if not
        !            75: **             error that occurred if not
        !            76: **
        !            77: **     Called By:
        !            78: **             USER -- used to skip over C_CODE in a retrieve {}
        !            79: **                     when an error ocurred in getting the tuple.
        !            80: **                     A call to this routine is generated by equel,
        !            81: **                     because IIerrflag should not need to be vi-
        !            82: **                     sible from inside a users program.
        !            83: **
        !            84: */
        !            85: 
        !            86: IIerrtest()
        !            87: {
        !            88:        return (IIerrflag);
        !            89: }

unix.superglobalmegacorp.com

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