Annotation of 43BSD/ingres/source/libq/IIerror.c, revision 1.1.1.1

1.1       root        1: # include      <ingres.h>
                      2: # include      <symbol.h>
                      3: # include      "IIglobals.h"
                      4: # include      <sccs.h>
                      5: 
                      6: SCCSID(@(#)IIerror.c   8.1     12/31/84)
                      7: 
                      8: 
                      9: /*
                     10: **     IIerror -- std. equel error reporting routine.
                     11: **
                     12: **             IIerror is called either directly by a
                     13: **             routine detecting an error or by
                     14: **             IIrdpipe where INGRES returns an error.
                     15: **
                     16: **             In the case of an appropriate error, IIerrflag is set to
                     17: **             prevent the reading of the ovqp data pipe. This happens
                     18: **             on errors that happen during retrieves to C vars.
                     19: **
                     20: **             Errno is the error number: 1??? is an equel error
                     21: **             others are Ingres errors.
                     22: **
                     23: **             Argc and argv are structured as in Unix main program calls.
                     24: **
                     25: **             The error is printed if the call (*IIprint_err)()
                     26: **             returns > 0. Otherwise no error message is printed.
                     27: **             The error message that is printed is the one corresponding
                     28: **             to the number returned by (*IIprint_err)().
                     29: */
                     30: 
                     31: extern IIret_err();
                     32: int    (*IIprint_err)() =      IIret_err;
                     33: 
                     34: 
                     35: IIerror(errno, argc, argv)
                     36: int    errno, argc;
                     37: char   *argv [];
                     38: {
                     39:        register int            i;
                     40: 
                     41: #      ifdef xETR1
                     42:        if (IIdebug > 1)
                     43:                printf("ent IIerror : errno %d, argc %d\n", errno, argc);
                     44: #      endif
                     45: 
                     46:        IIerrflag = errno;
                     47:        if (!(errno = (*IIprint_err)(errno)))
                     48:        {
                     49: #              ifdef xETR2
                     50:                if (IIdebug > 1)
                     51:                        printf("IIerror : IIprint_err returned 0\n");
                     52: #              endif
                     53:                /* if must restore printing turned off in IIw_left()
                     54:                 * or IIw_right(), then do so.
                     55:                 */
                     56:                if (IIo_print)
                     57:                {
                     58:                        IIprint_err = IIo_print;
                     59:                        IIo_print = 0;
                     60:                }
                     61:                return;
                     62:        }
                     63: 
                     64:        if (errno > 2000)
                     65:                printf("INGRES ERROR: ");
                     66:        else
                     67:                printf("EQUEL ERROR: ");
                     68: 
                     69:        if (!IIp_err(errno, argc, argv))
                     70:        {
                     71:                /* couldn't process error in IIp_err() */
                     72:                printf(" %d with parameters:",errno);
                     73:                for (i = 0; i < argc; )
                     74:                        printf(" %s", argv [i++]);
                     75:                printf("\n");
                     76:        }
                     77:        if (IIproc_name)
                     78:                printf("On file %s line %d.\n", IIproc_name, IIline_no);
                     79: }
                     80: 
                     81: /*
                     82: **  IIret_err -- returns its single argument for IIerror.
                     83: **
                     84: */
                     85: 
                     86: IIret_err(err)
                     87: int    err;
                     88: {
                     89:        return (err);
                     90: }
                     91: 
                     92: /*
                     93: **  IIno_err -- returns 0. Called from IIerror
                     94: **             (through (*IIprint_err)())
                     95: **             to supress error message printing.
                     96: */
                     97: 
                     98: IIno_err(err)
                     99: int    err;
                    100: {
                    101:        return (0);
                    102: }

unix.superglobalmegacorp.com

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