Annotation of 43BSDReno/lib/libpc/PCSTART.c, revision 1.1.1.1

1.1       root        1: /*-
                      2:  * Copyright (c) 1979 The Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms are permitted
                      6:  * provided that: (1) source distributions retain this entire copyright
                      7:  * notice and comment, and (2) distributions including binaries display
                      8:  * the following acknowledgement:  ``This product includes software
                      9:  * developed by the University of California, Berkeley and its contributors''
                     10:  * in the documentation or other materials provided with the distribution
                     11:  * and in all advertising materials mentioning features or use of this
                     12:  * software. Neither the name of the University nor the names of its
                     13:  * contributors may be used to endorse or promote products derived
                     14:  * from this software without specific prior written permission.
                     15:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     16:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     17:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     18:  */
                     19: 
                     20: #ifndef lint
                     21: static char sccsid[] = "@(#)PCSTART.c  1.10 (Berkeley) 5/29/90";
                     22: #endif /* not lint */
                     23: 
                     24: #include <signal.h>
                     25: #include "h00vars.h"
                     26: #include "libpc.h"
                     27: 
                     28: /*
                     29:  * program variables
                     30:  */
                     31: struct display _disply[MAXLVL];
                     32: int            _argc;
                     33: char           **_argv;
                     34: long           _stlim = 500000;
                     35: long           _stcnt = 0;
                     36: long           _seed = 1;
                     37: #ifdef ADDR32
                     38: char           *_minptr = (char *)0x7fffffff;
                     39: #endif ADDR32
                     40: #ifdef ADDR16
                     41: char           *_minptr = (char *)0xffff;
                     42: #endif ADDR16
                     43: char           *_maxptr = (char *)0;
                     44: 
                     45: /*
                     46:  * file record variables
                     47:  */
                     48: long           _filefre = PREDEF;
                     49: struct iorechd _fchain = {
                     50:        0, 0, 0, 0,             /* only use fchain field */
                     51:        INPUT                   /* fchain  */
                     52: };
                     53: struct iorec   *_actfile[MAXFILES] = {
                     54:        INPUT,
                     55:        OUTPUT,
                     56:        ERR
                     57: };
                     58: 
                     59: /*
                     60:  * standard files
                     61:  */
                     62: char           _inwin, _outwin, _errwin;
                     63: struct iorechd input = {
                     64:        &_inwin,                /* fileptr */
                     65:        0,                      /* lcount  */
                     66:        0x7fffffff,             /* llimit  */
                     67:        stdin,                  /* fbuf    */
                     68:        OUTPUT,                 /* fchain  */
                     69:        STDLVL,                 /* flev    */
                     70:        "standard input",       /* pfname  */
                     71:        FTEXT|FREAD|SYNC|EOLN,  /* funit   */
                     72:        0,                      /* fblk    */
                     73:        1                       /* fsize   */
                     74: };
                     75: struct iorechd output = {
                     76:        &_outwin,               /* fileptr */
                     77:        0,                      /* lcount  */
                     78:        0x7fffffff,             /* llimit  */
                     79:        stdout,                 /* fbuf    */
                     80:        ERR,                    /* fchain  */
                     81:        STDLVL,                 /* flev    */
                     82:        "standard output",      /* pfname  */
                     83:        FTEXT | FWRITE | EOFF,  /* funit   */
                     84:        1,                      /* fblk    */
                     85:        1                       /* fsize   */
                     86: };
                     87: struct iorechd _err = {
                     88:        &_errwin,               /* fileptr */
                     89:        0,                      /* lcount  */
                     90:        0x7fffffff,             /* llimit  */
                     91:        stderr,                 /* fbuf    */
                     92:        FILNIL,                 /* fchain  */
                     93:        STDLVL,                 /* flev    */
                     94:        "Message file",         /* pfname  */
                     95:        FTEXT | FWRITE | EOFF,  /* funit   */
                     96:        2,                      /* fblk    */
                     97:        1                       /* fsize   */
                     98: };
                     99: 
                    100: PCSTART(mode)
                    101:        int mode;
                    102: {
                    103:        /*
                    104:         * necessary only on systems which do not initialize
                    105:         * memory to zero
                    106:         */
                    107: 
                    108:        struct iorec    **ip;
                    109: 
                    110:        /*
                    111:         * if running with runtime tests enabled, give more
                    112:         * coherent error messages for FPEs
                    113:         */
                    114:        if (mode) {
                    115:                signal(SIGFPE, EXCEPT);
                    116:        }
                    117:        for (ip = &_actfile[3]; ip < &_actfile[MAXFILES]; *ip++ = FILNIL);
                    118: }

unix.superglobalmegacorp.com

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