]> Zhao Yanbai Git Server - minix.git/commitdiff
Importing usr.bin/asa 74/1074/2
authorThomas Cort <tcort@minix3.org>
Sat, 26 Oct 2013 00:00:29 +0000 (20:00 -0400)
committerThomas Cort <tcort@minix3.org>
Sun, 27 Oct 2013 15:09:15 +0000 (11:09 -0400)
No Minix-specific changes needed

Change-Id: Ib83606334a487ab2e35c475dd591e29d0ebef7a5

distrib/sets/lists/minix/mi
releasetools/nbsd_ports
usr.bin/Makefile
usr.bin/asa/Makefile [new file with mode: 0644]
usr.bin/asa/asa.1 [new file with mode: 0644]
usr.bin/asa/asa.c [new file with mode: 0644]

index c62c3f137e5028f3c9be22a55ba4193dc7bc67d6..1884bb95ffd84679eea6db7dc1b672f8d5e4e9f4 100644 (file)
 ./usr/bin/arch                         minix-sys
 ./usr/bin/arp                          minix-sys
 ./usr/bin/as                           minix-sys       binutils
+./usr/bin/asa                          minix-sys
 ./usr/bin/at                           minix-sys
 ./usr/bin/atf2kyua                     minix-sys       kyua
 ./usr/bin/atf-config                   minix-sys       atf,!kyua
 ./usr/man/man1/apropos.1               minix-sys
 ./usr/man/man1/ar.1                    minix-sys       binutils
 ./usr/man/man1/as.1                    minix-sys       binutils
+./usr/man/man1/asa.1                   minix-sys
 ./usr/man/man1/ash.1                   minix-sys
 ./usr/man/man1/at.1                    minix-sys
 ./usr/man/man1/atf2kyua.1              minix-sys       kyua
index aac260e7e02dc3ae470f0e3d8b05377c2fa085aa..e5a7b26447c1928987946ad0a532b19394399ac1 100644 (file)
 2012/10/17 12:00:00,tools/tic
 2012/10/17 12:00:00,tools/tsort
 2009/05/08 12:48:43,usr.bin/apropos
+2012/10/17 12:00:00,usr.bin/asa
 2012/10/17 12:00:00,usr.bin/banner
 2012/10/17 12:00:00,usr.bin/basename
 2013/05/31 12:00:00,usr.bin/bdes
index 75a0a432b09d71000e3dc525863d46392c813db4..7d602413bc2afab12abc53fabc823ced82186648 100644 (file)
@@ -3,7 +3,7 @@
 
 .include <bsd.own.mk>
 
-SUBDIR= \
+SUBDIR= asa \
        banner basename bdes \
        bzip2 bzip2recover \
        cal chpass cksum \
diff --git a/usr.bin/asa/Makefile b/usr.bin/asa/Makefile
new file mode 100644 (file)
index 0000000..5086fe6
--- /dev/null
@@ -0,0 +1,5 @@
+#      $NetBSD: Makefile,v 1.5 2009/04/14 22:15:17 lukem Exp $
+
+PROG=  asa
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/asa/asa.1 b/usr.bin/asa/asa.1
new file mode 100644 (file)
index 0000000..1fda8f9
--- /dev/null
@@ -0,0 +1,88 @@
+.\"    $NetBSD: asa.1,v 1.11 2002/02/08 01:36:18 ross Exp $
+.\"
+.\" Copyright (c) 1993 Winning Strategies, Inc.
+.\" 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 Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\"    derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+.\"
+.Dd September 23, 1993
+.Dt ASA 1
+.Os
+.Sh NAME
+.Nm asa
+.Nd interpret carriage-control characters
+.Sh SYNOPSIS
+.Nm
+.Op Ar
+.Sh DESCRIPTION
+The
+.Nm
+utility reads files sequentially, mapping
+.Tn FORTRAN
+carriage-control characters to line-printer control sequences,
+and writes them to the standard output.
+.Pp
+The first character of each line is interpreted as a carriage-control
+character.  The following characters are interpreted as follows:
+.Bl -tag -width "\*[Lt]space\*[Gt]"
+.It \*[Lt]space\*[Gt]
+Output the rest of the line without change.
+.It 0
+Output a \*[Lt]newline\*[Gt] character before printing the rest of the line.
+.It 1
+Output a \*[Lt]formfeed\*[Gt] character before printing the rest of the line.
+.It +
+The trailing \*[Lt]newline\*[Gt] of the previous line is replaced by a \*[Lt]carriage-return\*[Gt]
+before printing the rest of the line.
+.El
+.Pp
+Lines beginning with characters other than the above are treated as if they
+begin with \*[Lt]space\*[Gt].
+.Sh EXIT STATUS
+The
+.Nm
+utility exit 0 on success, and \*[Gt]0 if an error occurs.
+.Sh EXAMPLES
+To view a file containing the output of a
+.Tn FORTRAN
+program:
+.Dl asa file
+.Pp
+To format the output of a
+.Tn FORTRAN
+program and redirect it to a line-printer:
+.Dl a.out | asa | lpr
+.Sh SEE ALSO
+.Xr f77 1
+.Sh STANDARDS
+The
+.Nm
+utility conforms to
+.St -p1003.2-92
+and to
+.St -xcu5 .
+.Sh AUTHORS
+J.T. Conklin, Winning Strategies, Inc.
diff --git a/usr.bin/asa/asa.c b/usr.bin/asa/asa.c
new file mode 100644 (file)
index 0000000..a6cb103
--- /dev/null
@@ -0,0 +1,117 @@
+/*     $NetBSD: asa.c,v 1.16 2007/06/24 23:23:10 christos Exp $        */
+
+/*
+ * Copyright (c) 1993,94 Winning Strategies, Inc.
+ * 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 Winning Strategies, Inc.
+ * 4. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: asa.c,v 1.16 2007/06/24 23:23:10 christos Exp $");
+#endif
+
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+static void asa(FILE *);
+int main(int, char *[]);
+
+int
+/*ARGSUSED*/
+main (int argc, char *argv[])
+{
+       FILE *fp;
+
+       /* skip progname */
+       argv++;
+
+       if (*argv == NULL)
+               asa(stdin);
+       else
+               do {
+                       if ((fp = fopen(*argv, "r")) == NULL) {
+                               warn("%s", *argv);
+                               continue;
+                       }
+                       asa(fp);
+                       (void)fclose(fp);
+               } while (*++argv != NULL);
+
+       return 0;
+}
+
+static void
+asa(FILE *f)
+{
+       char *buf;
+       size_t len;
+
+       if ((buf = fgetln(f, &len)) != NULL) {
+               if (len > 0 && buf[len - 1] == '\n')
+                       buf[--len] = '\0';
+               /* special case the first line */
+               switch (buf[0]) {
+               case '0':
+                       (void)putchar('\n');
+                       break;
+               case '1':
+                       (void)putchar('\f');
+                       break;
+               }
+
+               if (len > 1 && buf[0] && buf[1])
+                       (void)fwrite(buf + 1, 1, len - 1, stdout);
+
+               while ((buf = fgetln(f, &len)) != NULL) {
+                       if (len > 0 && buf[len - 1] == '\n')
+                               buf[--len] = '\0';
+                       switch (buf[0]) {
+                       default:
+                       case ' ':
+                               (void)putchar('\n');
+                               break;
+                       case '0':
+                               (void)putchar('\n');
+                               (void)putchar('\n');
+                               break;
+                       case '1':
+                               (void)putchar('\f');
+                               break;
+                       case '+':
+                               (void)putchar('\r');
+                               break;
+                       }
+
+                       if (len > 1 && buf[0] && buf[1])
+                               (void)fwrite(buf + 1, 1, len - 1, stdout);
+               }
+
+               (void)putchar('\n');
+       }
+}