]> Zhao Yanbai Git Server - minix.git/commitdiff
Importing usr.bin/rev 01/1001/2
authorThomas Cort <tcort@minix3.org>
Sat, 28 Sep 2013 17:15:09 +0000 (13:15 -0400)
committerGerrit Code Review <gerrit@gerrit>
Mon, 30 Sep 2013 13:19:38 +0000 (15:19 +0200)
Change-Id: I73c661eb9d4cca5c17b969bb3831541c1f7f9319

commands/Makefile
commands/rev/Makefile [deleted file]
distrib/sets/lists/minix/mi
releasetools/nbsd_ports
usr.bin/Makefile
usr.bin/rev/Makefile [new file with mode: 0644]
usr.bin/rev/rev.1 [new file with mode: 0644]
usr.bin/rev/rev.c [moved from commands/rev/rev.c with 74% similarity]

index 9adb1353225b76a2475ed8ba357aa930de177ea7..4913f4c40f1b74c945bfb839709f79f03a217ead 100644 (file)
@@ -21,7 +21,7 @@ SUBDIR=       add_route arp ash at backup btrace \
        ping postinstall poweroff pr prep printroot \
        profile progressbar pr_routes ps pwdauth \
        ramdisk rarpd rawspeed rcp readclock \
-       reboot remsync rev rget rlogin \
+       reboot remsync rget rlogin \
        rotate rsh rshd service setup shar \
        sleep slip spell split sprofalyze sprofdiff srccrc \
        stty svclog svrctl swifi synctree sysenv \
diff --git a/commands/rev/Makefile b/commands/rev/Makefile
deleted file mode 100644 (file)
index f6a3526..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-PROG=  rev
-MAN=
-
-.include <bsd.prog.mk>
index 591b55c5038f5eb59ef0e67f7c6e0b61e0431520..38326ff09ac68d42dc05df34264e0e5a01e52997 100644 (file)
 ./usr/man/man1/ref.1                   minix-sys       obsolete
 ./usr/man/man1/remsync.1               minix-sys
 ./usr/man/man1/return.1                        minix-sys
+./usr/man/man1/rev.1                   minix-sys
 ./usr/man/man1/rget.1                  minix-sys
 ./usr/man/man1/rlogin.1                        minix-sys
 ./usr/man/man1/rm.1                    minix-sys
index 5de902ff8e747c8e0da68dbb85ef617d108dfaf9..5d713ac80a399bf396f0cc81c5cd4a1c1167a5b0 100644 (file)
 2010/05/14 17:28:23,usr.bin/newgrp
 2012/10/17 12:00:00,usr.bin/passwd
 2012/10/17 12:00:00,usr.bin/printf
+2013/09/28 12:00:00,usr.bin/rev
 2010/02/19 16:35:27,usr.bin/sed
 2010/05/27 08:40:19,usr.bin/seq
 2013/06/02 12:00:00,usr.bin/shuffle
index 63b52eaa60e5d4987989edf878f69c9513fc0175..bcbaf3e355a4087c2f6da898a024216ff1df2d9c 100644 (file)
@@ -21,7 +21,7 @@ SUBDIR= \
        nbperf newgrp nvi \
        passwd \
        printf \
-       \
+       rev \
        \
        shuffle sed seq \
        sort stat su \
diff --git a/usr.bin/rev/Makefile b/usr.bin/rev/Makefile
new file mode 100644 (file)
index 0000000..ae28080
--- /dev/null
@@ -0,0 +1,6 @@
+#      $NetBSD: Makefile,v 1.3 1995/09/28 08:49:37 tls Exp $
+#      @(#)Makefile    8.1 (Berkeley) 6/9/93
+
+PROG=  rev
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/rev/rev.1 b/usr.bin/rev/rev.1
new file mode 100644 (file)
index 0000000..5f6a9c5
--- /dev/null
@@ -0,0 +1,50 @@
+.\"    $NetBSD: rev.1,v 1.8 2009/07/21 01:12:55 ahoka Exp $
+.\"
+.\" Copyright (c) 1985, 1992, 1993
+.\"    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. 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.
+.\"
+.\"    @(#)rev.1       8.1 (Berkeley) 6/9/93
+.\"
+.Dd July 21, 2009
+.Dt REV 1
+.Os
+.Sh NAME
+.Nm rev
+.Nd reverse order of characters of lines in a file
+.Sh SYNOPSIS
+.Nm
+.Op Ar
+.Sh DESCRIPTION
+The
+.Nm
+utility copies the specified files to the standard output, reversing the
+order of characters in every line.
+If no files are specified, the standard input is read.
+.Sh ENVIRONMENT
+.Bl -tag -width indent
+.It Ev LC_ALL
+.El
similarity index 74%
rename from commands/rev/rev.c
rename to usr.bin/rev/rev.c
index b6948ffe4f0175ae07409ad68110391b0068da9c..6702a1e93a4bf7be0575832c7a9abd278a9c59d2 100644 (file)
@@ -1,3 +1,5 @@
+/*     $NetBSD: rev.c,v 1.12 2011/09/16 15:39:28 joerg Exp $   */
+
 /*-
  * Copyright (c) 1987, 1992, 1993
  *     The Regents of the University of California.  All rights reserved.
  * 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
+ * 3. 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.
  *
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
+#ifndef lint
+__COPYRIGHT("@(#) Copyright (c) 1987, 1992, 1993\
+ The Regents of the University of California.  All rights reserved.");
+#endif /* not lint */
+
 #ifndef lint
-static const char copyright[] =
-"@(#) Copyright (c) 1987, 1992, 1993\n\
-       The Regents of the University of California.  All rights reserved.\n";
+#if 0
+static char sccsid[] = "@(#)rev.c      8.3 (Berkeley) 5/4/95";
+#else
+__RCSID("$NetBSD: rev.c,v 1.12 2011/09/16 15:39:28 joerg Exp $");
+#endif
 #endif /* not lint */
 
 #include <sys/types.h>
 
+#include <err.h>
 #include <errno.h>
 #include <locale.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
 #include <unistd.h>
+#include <wchar.h>
 
-void usage(void);
+__dead static void usage(void);
 
 int
 main(int argc, char *argv[])
 {
        const char *filename;
-       char p[2000], *t;
+       wchar_t *p, *t;
        FILE *fp;
        size_t len;
        int ch, rval;
 
        setlocale(LC_ALL, "");
+       setprogname(argv[0]);
 
        while ((ch = getopt(argc, argv, "")) != -1)
                switch(ch) {
@@ -75,24 +83,23 @@ main(int argc, char *argv[])
        do {
                if (*argv) {
                        if ((fp = fopen(*argv, "r")) == NULL) {
-                               perror(*argv);
+                               warn("%s", *argv);
                                rval = 1;
                                ++argv;
                                continue;
                        }
                        filename = *argv++;
                }
-               while ((fgets(p, sizeof(p)-1, fp)) != NULL) {
-                       len = strlen(p);
-                       if (p[len - 1] == '\n')
+               while ((p = fgetwln(fp, &len)) != NULL) {
+                       if (p[len - 1] == L'\n')
                                --len;
                        t = p + len - 1;
                        for (t = p + len - 1; t >= p; --t)
-                               putchar(*t);
-                       putchar('\n');
+                               putwchar(*t);
+                       putwchar(L'\n');
                }
                if (ferror(fp)) {
-                       perror(filename);
+                       warn("%s", filename);
                        rval = 1;
                }
                (void)fclose(fp);
@@ -100,9 +107,9 @@ main(int argc, char *argv[])
        exit(rval);
 }
 
-void
+static void
 usage(void)
 {
-       (void)fprintf(stderr, "usage: rev [file ...]\n");
-       exit(1);
+       (void)fprintf(stderr, "usage: %s [file ...]\n", getprogname());
+       exit(EXIT_FAILURE);
 }