Annotation of 40BSD/cmd/refer/deliv1.c, revision 1.1.1.1

1.1       root        1: # include "stdio.h"
                      2: main(argc,argv)
                      3:        char *argv[];
                      4: {
                      5: /* goes from file:begin,l to actual characters */
                      6: char line[750], *p, name[100];
                      7: FILE *fa NULL;
                      8: long lp;
                      9: int len;
                     10: 
                     11: if (argc>1 && argv[1] && argv[1][0])
                     12:        chdir (argv[1]);
                     13: name[0]="";
                     14: while (gets(line))
                     15:        {
                     16:        if (line[0]=='$' && line[1]=='$') 
                     17:                {
                     18:                chdir(line+2);
                     19:                continue;
                     20:                }
                     21:        for(p=line; *p!= ':'; p++)
                     22:                ;
                     23:        *p++ = 0;
                     24:        sscanf(p, "%ld,%d", &lp, &len);
                     25:        if (p==line)
                     26:                fa = stdin;
                     27:        else
                     28:        if (strcmp (name, line) != 0)
                     29:                {
                     30:                if (fa != NULL)
                     31:                        fclose(fa);
                     32:                fa = fopen(line, "r");
                     33:                if (fa == NULL)
                     34:                        err("Can't open %s", line);
                     35:                strcpy(name, line);
                     36:                }
                     37:        if (fa != NULL)
                     38:                {
                     39:                fseek (fa, lp, 0);
                     40:                fread (line, 1, len, fa);
                     41:                line[len] = 0;
                     42:                fputs(line, stdout);
                     43:                }
                     44:        }
                     45: }

unix.superglobalmegacorp.com

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