Annotation of 43BSDTahoe/usr.bin/refer/deliv1.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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