Annotation of 42BSD/usr.bin/refer/mkey1.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char *sccsid = "@(#)mkey1.c     4.1 (Berkeley) 5/6/83";
        !             3: #endif
        !             4: 
        !             5: #include <stdio.h>
        !             6: 
        !             7: extern char *comname;  /* "/usr/lib/eign" */
        !             8: int wholefile = 0;
        !             9: int keycount = 100;
        !            10: int labels = 1;
        !            11: int minlen = 3;
        !            12: extern int comcount;
        !            13: char *iglist = "XYZ#";
        !            14: 
        !            15: main (argc,argv)
        !            16: char *argv[];
        !            17: {
        !            18:        /* this program expects as its arguments a list of
        !            19:         * files and generates a set of lines of the form
        !            20:         *      filename:byte-add,length (tab) key1 key2 key3
        !            21:         * where the byte addresses give the position within
        !            22:         * the file and the keys are the strings off the lines
        !            23:         * which are alphabetic, first six characters only.
        !            24:         */
        !            25: 
        !            26:        int i;
        !            27:        char *name, qn[200];
        !            28:        char *inlist = 0;
        !            29: 
        !            30:        FILE *f, *ff;
        !            31: 
        !            32:        while (argc>1 && argv[1][0] == '-')
        !            33:        {
        !            34:                switch(argv[1][1])
        !            35:                {
        !            36:                case 'c':
        !            37:                        comname = argv[2];
        !            38:                        argv++; 
        !            39:                        argc--;
        !            40:                        break;
        !            41:                case 'w':
        !            42:                        wholefile = 1;  
        !            43:                        break;
        !            44:                case 'f':
        !            45:                        inlist = argv[2];
        !            46:                        argv++; 
        !            47:                        argc--;
        !            48:                        break;
        !            49:                case 'i':
        !            50:                        iglist = argv[2];
        !            51:                        argv++; 
        !            52:                        argc--;
        !            53:                        break;
        !            54:                case 'l':
        !            55:                        minlen = atoi(argv[1]+2);
        !            56:                        if (minlen<=0) minlen=3;
        !            57:                        break;
        !            58:                case 'n': /* number of common words to use */
        !            59:                        comcount = atoi(argv[1]+2);
        !            60:                        break;
        !            61:                case 'k': /* number  of keys per file max */
        !            62:                        keycount = atoi(argv[1]+2);
        !            63:                        break;
        !            64:                case 's': /* suppress labels, search only */
        !            65:                        labels = 0;
        !            66:                        break;
        !            67:                }
        !            68:                argc--; 
        !            69:                argv++;
        !            70:        }
        !            71:        if (inlist)
        !            72:        {
        !            73:                ff = fopen(inlist, "r");
        !            74:                while (fgets(qn, 200, ff))
        !            75:                {
        !            76:                        trimnl(qn);
        !            77:                        f = fopen (qn, "r");
        !            78:                        if (f!=NULL)
        !            79:                                dofile(f, qn);
        !            80:                        else
        !            81:                                fprintf(stderr, "Can't read %s\n",qn);
        !            82:                }
        !            83:        }
        !            84:        else
        !            85:                if (argc<=1)
        !            86:                        dofile(stdin, "");
        !            87:                else
        !            88:                        for(i=1; i<argc; i++)
        !            89:                        {
        !            90:                                f = fopen(name=argv[i], "r");
        !            91:                                if (f==NULL)
        !            92:                                        err("No file %s",name);
        !            93:                                else
        !            94:                                        dofile(f, name);
        !            95:                        }
        !            96:        exit(0);
        !            97: }

unix.superglobalmegacorp.com

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