Annotation of 43BSDTahoe/new/rn/cheat.c, revision 1.1

1.1     ! root        1: /* $Header: cheat.c,v 4.3 85/05/01 11:36:46 lwall Exp $
        !             2:  *
        !             3:  * $Log:       cheat.c,v $
        !             4:  * Revision 4.3  85/05/01  11:36:46  lwall
        !             5:  * Baseline for release with 4.3bsd.
        !             6:  * 
        !             7:  */
        !             8: 
        !             9: #include "EXTERN.h"
        !            10: #include "common.h"
        !            11: #include "intrp.h"
        !            12: #include "search.h"
        !            13: #include "ng.h"
        !            14: #include "bits.h"
        !            15: #include "artio.h"
        !            16: #include "term.h"
        !            17: #include "artsrch.h"
        !            18: #include "head.h"
        !            19: #include "INTERN.h"
        !            20: #include "cheat.h"
        !            21: 
        !            22: /* see what we can do while they are reading */
        !            23: 
        !            24: #ifdef PENDING
        !            25: #   ifdef ARTSEARCH
        !            26:        COMPEX srchcompex;              /* compiled regex for searchahead */
        !            27: #   endif
        !            28: #endif
        !            29: 
        !            30: void
        !            31: cheat_init()
        !            32: {
        !            33:     ;
        !            34: }
        !            35: 
        !            36: #ifdef PENDING
        !            37: void
        !            38: look_ahead()
        !            39: {
        !            40: #ifdef ARTSEARCH
        !            41:     register char *h, *s;
        !            42: 
        !            43: #ifdef DEBUGGING
        !            44:     if (debug && srchahead) {
        !            45:        printf("(%ld)",(long)srchahead);
        !            46:        fflush(stdout);
        !            47:     }
        !            48: #endif
        !            49:     if (srchahead && srchahead < art) {        /* in ^N mode? */
        !            50:        char *pattern;
        !            51: 
        !            52:        pattern = buf+1;
        !            53:        strcpy(pattern,": *");
        !            54:        h = pattern + strlen(pattern);
        !            55:        interp(h,(sizeof buf) - (h-buf),"%s");
        !            56:        h[24] = '\0';           /* compensate for notesfiles */
        !            57:        while (*h) {
        !            58:            if (index("\\[.^*$'\"",*h) != Nullch)
        !            59:                *h++ = '.';
        !            60:            else
        !            61:                h++;
        !            62:        }
        !            63: #ifdef DEBUGGING
        !            64:        if (debug & DEB_SEARCH_AHEAD) {
        !            65:            fputs("(hit CR)",stdout);
        !            66:            fflush(stdout);
        !            67:            gets(buf+128);
        !            68:            printf("\npattern = %s\n",pattern);
        !            69:        }
        !            70: #endif
        !            71:        if ((s = compile(&srchcompex,pattern,TRUE,TRUE)) != Nullch) {
        !            72:                                    /* compile regular expression */
        !            73:            printf("\n%s\n",s);
        !            74:            srchahead = 0;
        !            75:        }
        !            76:        if (srchahead) {
        !            77:            srchahead = art;
        !            78:            for (;;) {
        !            79:                srchahead++;    /* go forward one article */
        !            80:                if (srchahead > lastart) { /* out of articles? */
        !            81: #ifdef DEBUGGING
        !            82:                    if (debug)
        !            83:                        fputs("(not found)",stdout);
        !            84: #endif
        !            85:                    break;
        !            86:                }
        !            87:                if (!was_read(srchahead) &&
        !            88:                    wanted(&srchcompex,srchahead,0)) {
        !            89:                                    /* does the shoe fit? */
        !            90: #ifdef DEBUGGING
        !            91:                    if (debug)
        !            92:                        printf("(%ld)",(long)srchahead);
        !            93: #endif
        !            94:                    artopen(srchahead);
        !            95:                    break;
        !            96:                }
        !            97:                if (input_pending())
        !            98:                    break;
        !            99:            }
        !           100:            fflush(stdout);
        !           101:        }
        !           102:     }
        !           103:     else
        !           104: #endif
        !           105:     {
        !           106:        if (art+1 <= lastart)/* how about a pre-fetch? */
        !           107:            artopen(art+1);     /* look for the next article */
        !           108:     }
        !           109: }
        !           110: #endif
        !           111: 
        !           112: /* see what else we can do while they are reading */
        !           113: 
        !           114: void
        !           115: collect_subjects()
        !           116: {
        !           117: #ifdef PENDING
        !           118: # ifdef CACHESUBJ
        !           119:     ART_NUM oldart = openart;
        !           120:     ART_POS oldartpos;
        !           121: 
        !           122:     if (!in_ng || !srchahead)
        !           123:        return;
        !           124:     if (oldart)                        /* remember where we were in art */
        !           125:        oldartpos = ftell(artfp);
        !           126:     if (srchahead >= subj_to_get)
        !           127:        subj_to_get = srchahead+1;
        !           128:     while (!input_pending() && subj_to_get <= lastart)
        !           129:        fetchsubj(subj_to_get++,FALSE,FALSE);
        !           130:     if (oldart) {
        !           131:        artopen(oldart);
        !           132:        fseek(artfp,oldartpos,0);       /* do not screw the pager */
        !           133:     }
        !           134: # endif
        !           135: #endif
        !           136: }
        !           137: 

unix.superglobalmegacorp.com

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