Annotation of 43BSDTahoe/old/num.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)num.c       4.2 (Berkeley) 10/13/82";
                      2: #include       <stdio.h>
                      3: #define                formfeed 0xc
                      4: 
                      5: /*
                      6:  * number - a cat like program which prints a file with line
                      7:  *         numbers. Printing of numbers is suppressed on blank
                      8:  *         lines.
                      9:  *
                     10:  * Original Version by William Joy, June 1977
                     11:  * Updated October 1979 by M. Kirk McKusick
                     12:  */
                     13: main(ac, av)
                     14:        int ac;
                     15:        char *av[];
                     16:        {
                     17:        register int argc = ac;
                     18:        register char **argv = av;
                     19:        register int lino;
                     20:        register char *lineptr;
                     21:        register FILE *STDOUT = stdout;
                     22:        register FILE *STDIN = stdin;
                     23:        char line[512];
                     24:        extern char _sibuf[], _sobuf[];
                     25: 
                     26:        argv++;
                     27:        argc--;
                     28:        lino = 1;
                     29:        setbuf(STDIN,_sibuf);
                     30:        setbuf(STDOUT,_sobuf);
                     31:        do
                     32:                {
                     33:                if (argc)
                     34:                        if (freopen(*argv++, "r", STDIN) == NULL)
                     35:                                {
                     36:                                perror(*--argv);
                     37:                                exit(1);
                     38:                                }
                     39:                for(;;)
                     40:                        {
                     41:                        lineptr = line;
                     42:                        *lineptr = 0;
                     43:                        fscanf(STDIN,"%[^\n]",lineptr);
                     44:                        if (feof(STDIN))
                     45:                                break;
                     46:                        if (*lineptr == formfeed)
                     47:                                putc(*lineptr++,STDOUT);
                     48:                        if (!*lineptr)
                     49:                                putc('\n',STDOUT);
                     50:                        else
                     51:                                fprintf(STDOUT,"%6d  %s\n",lino,lineptr);
                     52:                        lino++;
                     53:                        getc(STDIN);
                     54:                        }
                     55:                }
                     56:                while (--argc > 0);
                     57:        exit();
                     58:        }

unix.superglobalmegacorp.com

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