Annotation of 43BSD/ingres/source/monitor/trapquery.c, revision 1.1.1.1

1.1       root        1: # include      "monitor.h"
                      2: # include      <trace.h>
                      3: # include      <resp.h>
                      4: # include      <sccs.h>
                      5: 
                      6: SCCSID(@(#)trapquery.c 8.1     12/31/84)
                      7: 
                      8: 
                      9: 
                     10: 
                     11: /*
                     12: **  TRAPQUERY -- trap queries which succeeded.
                     13: **
                     14: **     This module traps the current query into the file
                     15: **     specified by Trapfile.  It will open Trapfile if
                     16: **     it is not already open.
                     17: **
                     18: **     Parameters:
                     19: **             retcode -- the return code of the query.
                     20: **             name -- the name of the file in which to dump the
                     21: **                     query buffer.
                     22: **
                     23: **     Returns:
                     24: **             none.
                     25: **
                     26: **     Side Effects:
                     27: **             Outputs the query buffer to Trapfile.
                     28: **
                     29: **     Called By:
                     30: **             go.
                     31: **
                     32: **     Files:
                     33: **             Trapfile -- the descriptor of the file in which to
                     34: **                     trap the query.
                     35: **             Qbname -- the name of the query buffer.
                     36: **
                     37: **     Trace Flags:
                     38: **             none
                     39: **
                     40: **     Bugs:
                     41: **             If 'name' (that is, the {querytrap} macro) changes
                     42: **                     during a run, the output file does not change.
                     43: */
                     44: 
                     45: FILE   *Trapfile;
                     46: 
                     47: trapquery(resp, name)
                     48: struct resp    *resp;
                     49: char           *name;
                     50: {
                     51:        register FILE   *iop;
                     52:        static int      first;
                     53:        register char   *sp, c;
                     54:        int             timevec[2];
                     55:        extern          fgetc();
                     56:        extern char     *ctime();
                     57: 
                     58:        if (first < 0)
                     59:                return;
                     60:        if (Trapfile == NULL)
                     61:        {
                     62:                if ((Trapfile = fopen(name, "a")) == NULL)
                     63:                {
                     64:                        printf("can't trap query in %s\n", name);
                     65:                        first = -1;
                     66:                        return;
                     67:                }
                     68:        }
                     69:        if (first == 0)
                     70:        {
                     71:                time(timevec);
                     72:                sp = ctime(timevec);
                     73:                while (*sp)
                     74:                        putc(*sp++, Trapfile);
                     75:                first++;
                     76:        }
                     77: 
                     78:        if ((iop = fopen(Qbname, "r")) == NULL)
                     79:                syserr("go: open 1");
                     80:        macinit(fgetc, iop, 1);
                     81: 
                     82:        while ((c = macgetch()) > 0)
                     83:                putc(c, Trapfile);
                     84: 
                     85:        if (resp->resp_resp == 0)
                     86:        {
                     87:                sp = (char *) locv(resp->resp_tups);
                     88:                while (*sp)
                     89:                        putc(*sp++, Trapfile);
                     90:                putc('\n', Trapfile);
                     91:        }
                     92: 
                     93:        fclose(iop);
                     94: }

unix.superglobalmegacorp.com

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