Annotation of 43BSDTahoe/man/tools/line.c, revision 1.1.1.1

1.1       root        1: /*     @(#)line.c      1.1     */
                      2: /*
                      3:        This program reads a single line from the standard input
                      4:        and writes it on the standard output. It is probably most useful
                      5:        in conjunction with the Bourne shell.
                      6: */
                      7: #define LSIZE 512
                      8: int EOF;
                      9: char nl = '\n';
                     10: main()
                     11: {
                     12:        register char c;
                     13:        char line[LSIZE];
                     14:        register char *linep, *linend;
                     15: 
                     16: EOF = 0;
                     17: linep = line;
                     18: linend = line + LSIZE;
                     19: 
                     20: while ((c = readc()) != nl)
                     21:        {
                     22:        if (linep == linend)
                     23:                {
                     24:                write (1, line, LSIZE);
                     25:                linep = line;
                     26:                }
                     27:        *linep++ = c;
                     28:        }
                     29: write (1, line, linep-line);
                     30: write(1,&nl,1);
                     31: if (EOF == 1) exit(1);
                     32: exit (0);
                     33: }
                     34: readc()
                     35: {
                     36:        char c;
                     37: if (read (0, &c, 1) != 1) {
                     38:        EOF = 1;
                     39:        return(nl);
                     40:        }
                     41: else
                     42:        return (c);
                     43: }

unix.superglobalmegacorp.com

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