386BSD 0.1 development
[unix-history] / usr / src / usr.bin / colcrt / colcrt.c
index 5495465..c2e4ff1 100644 (file)
@@ -1,4 +1,46 @@
-static char *sccsid = "@(#)colcrt.c    4.1 (Berkeley) %G%";
+/*
+ * Copyright (c) 1980 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+char copyright[] =
+"@(#) Copyright (c) 1980 The Regents of the University of California.\n\
+ All rights reserved.\n";
+#endif /* not lint */
+
+#ifndef lint
+static char sccsid[] = "@(#)colcrt.c   5.4 (Berkeley) 6/1/90";
+#endif /* not lint */
+
 #include <stdio.h>
 /*
  * colcrt - replaces col for crts with new nroff esp. when using tbl.
 #include <stdio.h>
 /*
  * colcrt - replaces col for crts with new nroff esp. when using tbl.
@@ -19,7 +61,6 @@ char  page[267][132];
 int    outline = 1;
 int    outcol;
 
 int    outline = 1;
 int    outcol;
 
-char   buf[256];
 char   suppresul;
 char   printall;
 
 char   suppresul;
 char   printall;
 
@@ -51,15 +92,12 @@ main(argc, argv)
                argc--;
                argv++;
        }
                argc--;
                argv++;
        }
-       setbuf(stdout, buf);
        do {
                if (argc > 0) {
                        close(0);
        do {
                if (argc > 0) {
                        close(0);
-                       if ((f=fopen(argv[0], "r")
-) < 0) {
+                       if (!(f = fopen(argv[0], "r"))) {
                                fflush(stdout);
                                perror(argv[0]);
                                fflush(stdout);
                                perror(argv[0]);
-                               fflush(stdout);
                                exit (1);
                        }
                        argc--;
                                exit (1);
                        }
                        argc--;
@@ -178,12 +216,13 @@ pflush(ol)
                lastomit = 0;
                printf("%s\n", cp);
        }
                lastomit = 0;
                printf("%s\n", cp);
        }
-       copy(page, page[ol], (267 - ol) * 132);
-       clear(page[267- ol], ol * 132);
+       bcopy(page[ol], page, (267 - ol) * 132);
+       bzero(page[267- ol], ol * 132);
        outline -= ol;
        outcol = 0;
        first = 1;
 }
        outline -= ol;
        outcol = 0;
        first = 1;
 }
+
 move(l, m)
        int l, m;
 {
 move(l, m)
        int l, m;
 {
@@ -210,25 +249,3 @@ move(l, m)
                page[l][0] = 0;
        }
 }
                page[l][0] = 0;
        }
 }
-
-copy(to, from, i)
-       register char *to, *from;
-       register int i;
-{
-
-       if (i > 0)
-               do
-                       *to++ = *from++;
-               while (--i);
-}
-
-clear(at, cnt)
-       register char *at;
-       register int cnt;
-{
-
-       if (cnt > 0)
-               do
-                       *at++ = 0;
-               while (--cnt);
-}