summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/ls/cmp.c4
-rw-r--r--bin/ls/ls.113
-rw-r--r--bin/ls/ls.c28
-rw-r--r--bin/ls/ls.h7
-rw-r--r--bin/ls/print.c13
-rw-r--r--bin/ls/stat_flags.c9
-rw-r--r--bin/ls/util.c8
-rw-r--r--lib/libc/gen/setflags.c9
-rw-r--r--lib/libc/gen/setflagsbyname.c9
-rw-r--r--lib/libc/gen/strtofflags.c9
-rw-r--r--lib/libutil/stat_flags.c9
11 files changed, 91 insertions, 27 deletions
diff --git a/bin/ls/cmp.c b/bin/ls/cmp.c
index 51397b4..db72a1d 100644
--- a/bin/ls/cmp.c
+++ b/bin/ls/cmp.c
@@ -33,11 +33,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: cmp.c,v 1.2 1994/09/24 02:55:52 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)cmp.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)cmp.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
diff --git a/bin/ls/ls.1 b/bin/ls/ls.1
index 077b9a0..2ad38fd 100644
--- a/bin/ls/ls.1
+++ b/bin/ls/ls.1
@@ -32,10 +32,10 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)ls.1 8.6 (Berkeley) 4/18/94
-.\" $Id: ls.1,v 1.4 1995/09/26 08:48:09 mpp Exp $
+.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
+.\" $Id: ls.1,v 1.5 1996/08/29 18:05:56 wosch Exp $
.\"
-.Dd April 18, 1994
+.Dd July 29, 1994
.Dt LS 1
.Os
.Sh NAME
@@ -43,7 +43,7 @@
.Nd list directory contents
.Sh SYNOPSIS
.Nm ls
-.Op Fl ACFLRTacdfiloqrstu1
+.Op Fl ACFLRTWacdfiloqrstu1
.Op Ar file ...
.Sh DESCRIPTION
For each operand that names a
@@ -84,8 +84,9 @@ that is a directory, an asterisk (*) after each that is
executable,
an at sign (@) after each symbolic link,
an equals sign (=) after each socket,
+a percent sign (%) after each whiteout,
and a vertical bar (|) after each that is a
-.Tn FIFO .
+.Tn FIFO .
.It Fl L
If argument is a symbolic link, list the file or directory the link references
rather than the link itself.
@@ -94,6 +95,8 @@ Recursively list subdirectories encountered.
.It Fl T
Display complete time information for the file, including
month, day, hour, minute, second, and year.
+.It Fl W
+Display whiteouts when scanning directories. (UNIMPLEMENTED)
.It Fl a
Include directory entries whose names begin with a
dot (.).
diff --git a/bin/ls/ls.c b/bin/ls/ls.c
index fb747de..4d39324 100644
--- a/bin/ls/ls.c
+++ b/bin/ls/ls.c
@@ -33,17 +33,17 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ls.c,v 1.9 1995/10/26 10:56:38 ache Exp $
+ * $Id: ls.c,v 1.10 1996/08/27 21:51:48 adam Exp $
*/
#ifndef lint
-static char copyright[] =
+static char const copyright[] =
"@(#) Copyright (c) 1989, 1993, 1994\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
-static char sccsid[] = "@(#)ls.c 8.5 (Berkeley) 4/2/94";
+static char const sccsid[] = "@(#)ls.c 8.5 (Berkeley) 4/2/94";
#endif /* not lint */
#include <sys/types.h>
@@ -94,6 +94,9 @@ int f_statustime; /* use time of last mode change */
int f_dirname; /* if precede with directory name */
int f_timesort; /* sort by time vice name */
int f_type; /* add type character for non-regular files */
+#ifndef BSD4_4_LITE
+int f_whiteout; /* show whiteout entries */
+#endif
int rval;
@@ -131,7 +134,11 @@ main(argc, argv)
f_listdot = 1;
fts_options = FTS_PHYSICAL;
+#ifdef BSD4_4_LITE
while ((ch = getopt(argc, argv, "1ACFLRTacdfgikloqrstu")) != EOF) {
+#else
+ while ((ch = getopt(argc, argv, "1ACFLRTWacdfgikloqrstu")) != EOF) {
+#endif
switch (ch) {
/*
* The -1, -C and -l options all override each other so shell
@@ -208,6 +215,11 @@ main(argc, argv)
case 't':
f_timesort = 1;
break;
+#ifndef BSD4_4_LITE
+ case 'W':
+ f_whiteout = 1;
+ break;
+#endif
default:
case '?':
usage();
@@ -230,6 +242,16 @@ main(argc, argv)
if (!f_longform && !f_listdir && !f_type)
fts_options |= FTS_COMFOLLOW;
+#ifndef BSD4_4_LITE
+ /*
+ * If -W, show whiteout entries
+ */
+#ifdef FTS_WHITEOUT
+ if (f_whiteout)
+ fts_options |= FTS_WHITEOUT;
+#endif
+#endif
+
/* If -l or -s, figure out block size. */
if (f_longform || f_size) {
if (f_kblocks)
diff --git a/bin/ls/ls.h b/bin/ls/ls.h
index 61c319e..dd95413 100644
--- a/bin/ls/ls.h
+++ b/bin/ls/ls.h
@@ -34,10 +34,15 @@
* SUCH DAMAGE.
*
* @(#)ls.h 8.1 (Berkeley) 5/31/93
- * $Id$
+ * $Id: ls.h,v 1.2 1994/09/24 02:55:55 davidg Exp $
*/
#define NO_PRINT 1
+/*
+ * XXX Until we get kernel support for the undelete(2) system call,
+ * this define *must* remain in place.
+ */
+#define BSD4_4_LITE
extern long blocksize; /* block size units */
diff --git a/bin/ls/print.c b/bin/ls/print.c
index 5f96695..e7b63f0 100644
--- a/bin/ls/print.c
+++ b/bin/ls/print.c
@@ -33,11 +33,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: print.c,v 1.7 1995/12/30 18:15:30 joerg Exp $
+ * $Id: print.c,v 1.8 1996/01/20 10:31:14 mpp Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)print.c 8.4 (Berkeley) 4/17/94";
+static char const sccsid[] = "@(#)print.c 8.4 (Berkeley) 4/17/94";
#endif /* not lint */
#include <sys/param.h>
@@ -95,7 +95,7 @@ printlong(dp)
continue;
sp = p->fts_statp;
if (f_inode)
- (void)printf("%*lu ", dp->s_inode, sp->st_ino);
+ (void)printf("%*lu ", dp->s_inode, (u_long)sp->st_ino);
if (f_size)
(void)printf("%*qd ",
dp->s_block, howmany(sp->st_blocks, blocksize));
@@ -215,7 +215,7 @@ printaname(p, inodefield, sizefield)
sp = p->fts_statp;
chcnt = 0;
if (f_inode)
- chcnt += printf("%*lu ", (int)inodefield, sp->st_ino);
+ chcnt += printf("%*lu ", (int)inodefield, (u_long)sp->st_ino);
if (f_size)
chcnt += printf("%*qd ",
(int)sizefield, howmany(sp->st_blocks, blocksize));
@@ -268,6 +268,11 @@ printtype(mode)
case S_IFSOCK:
(void)putchar('=');
return (1);
+#ifndef BSD4_4_LITE
+ case S_IFWHT:
+ (void)putchar('%');
+ return (1);
+#endif
}
if (mode & (S_IXUSR | S_IXGRP | S_IXOTH)) {
(void)putchar('*');
diff --git a/bin/ls/stat_flags.c b/bin/ls/stat_flags.c
index d62a0fd..7e4309c 100644
--- a/bin/ls/stat_flags.c
+++ b/bin/ls/stat_flags.c
@@ -30,11 +30,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
@@ -71,6 +71,8 @@ flags_to_string(flags, def)
SAPPEND("uchg");
if (flags & UF_NODUMP)
SAPPEND("nodump");
+ if (flags & UF_OPAQUE)
+ SAPPEND("opaque");
if (flags & SF_APPEND)
SAPPEND("sappnd");
if (flags & SF_ARCHIVED)
@@ -128,6 +130,9 @@ string_to_flags(stringp, setp, clrp)
clear = !clear;
TEST(p, "dump", UF_NODUMP);
return (1);
+ case 'o':
+ TEST(p, "opaque", UF_OPAQUE);
+ return (1);
case 's':
TEST(p, "sappnd", SF_APPEND);
TEST(p, "sappend", SF_APPEND);
diff --git a/bin/ls/util.c b/bin/ls/util.c
index d16ab6a..d452a4b 100644
--- a/bin/ls/util.c
+++ b/bin/ls/util.c
@@ -33,11 +33,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: util.c,v 1.4 1994/10/09 15:25:23 ache Exp $
+ * $Id: util.c,v 1.5 1996/03/31 16:14:11 ache Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)util.c 8.3 (Berkeley) 4/2/94";
+static char const sccsid[] = "@(#)util.c 8.3 (Berkeley) 4/2/94";
#endif /* not lint */
#include <sys/types.h>
@@ -68,6 +68,10 @@ prcopy(src, dest, len)
void
usage()
{
+#ifdef BSD4_4_LITE
(void)fprintf(stderr, "usage: ls [-1ACFLRTacdfiklqrstu] [file ...]\n");
+#else
+ (void)fprintf(stderr, "usage: ls [-1ACFLRTWacdfiklqrstu] [file ...]\n");
+#endif
exit(1);
}
diff --git a/lib/libc/gen/setflags.c b/lib/libc/gen/setflags.c
index d62a0fd..7e4309c 100644
--- a/lib/libc/gen/setflags.c
+++ b/lib/libc/gen/setflags.c
@@ -30,11 +30,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
@@ -71,6 +71,8 @@ flags_to_string(flags, def)
SAPPEND("uchg");
if (flags & UF_NODUMP)
SAPPEND("nodump");
+ if (flags & UF_OPAQUE)
+ SAPPEND("opaque");
if (flags & SF_APPEND)
SAPPEND("sappnd");
if (flags & SF_ARCHIVED)
@@ -128,6 +130,9 @@ string_to_flags(stringp, setp, clrp)
clear = !clear;
TEST(p, "dump", UF_NODUMP);
return (1);
+ case 'o':
+ TEST(p, "opaque", UF_OPAQUE);
+ return (1);
case 's':
TEST(p, "sappnd", SF_APPEND);
TEST(p, "sappend", SF_APPEND);
diff --git a/lib/libc/gen/setflagsbyname.c b/lib/libc/gen/setflagsbyname.c
index d62a0fd..7e4309c 100644
--- a/lib/libc/gen/setflagsbyname.c
+++ b/lib/libc/gen/setflagsbyname.c
@@ -30,11 +30,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
@@ -71,6 +71,8 @@ flags_to_string(flags, def)
SAPPEND("uchg");
if (flags & UF_NODUMP)
SAPPEND("nodump");
+ if (flags & UF_OPAQUE)
+ SAPPEND("opaque");
if (flags & SF_APPEND)
SAPPEND("sappnd");
if (flags & SF_ARCHIVED)
@@ -128,6 +130,9 @@ string_to_flags(stringp, setp, clrp)
clear = !clear;
TEST(p, "dump", UF_NODUMP);
return (1);
+ case 'o':
+ TEST(p, "opaque", UF_OPAQUE);
+ return (1);
case 's':
TEST(p, "sappnd", SF_APPEND);
TEST(p, "sappend", SF_APPEND);
diff --git a/lib/libc/gen/strtofflags.c b/lib/libc/gen/strtofflags.c
index d62a0fd..7e4309c 100644
--- a/lib/libc/gen/strtofflags.c
+++ b/lib/libc/gen/strtofflags.c
@@ -30,11 +30,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
@@ -71,6 +71,8 @@ flags_to_string(flags, def)
SAPPEND("uchg");
if (flags & UF_NODUMP)
SAPPEND("nodump");
+ if (flags & UF_OPAQUE)
+ SAPPEND("opaque");
if (flags & SF_APPEND)
SAPPEND("sappnd");
if (flags & SF_ARCHIVED)
@@ -128,6 +130,9 @@ string_to_flags(stringp, setp, clrp)
clear = !clear;
TEST(p, "dump", UF_NODUMP);
return (1);
+ case 'o':
+ TEST(p, "opaque", UF_OPAQUE);
+ return (1);
case 's':
TEST(p, "sappnd", SF_APPEND);
TEST(p, "sappend", SF_APPEND);
diff --git a/lib/libutil/stat_flags.c b/lib/libutil/stat_flags.c
index d62a0fd..7e4309c 100644
--- a/lib/libutil/stat_flags.c
+++ b/lib/libutil/stat_flags.c
@@ -30,11 +30,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $
*/
#ifndef lint
-static char sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
+static char const sccsid[] = "@(#)stat_flags.c 8.1 (Berkeley) 5/31/93";
#endif /* not lint */
#include <sys/types.h>
@@ -71,6 +71,8 @@ flags_to_string(flags, def)
SAPPEND("uchg");
if (flags & UF_NODUMP)
SAPPEND("nodump");
+ if (flags & UF_OPAQUE)
+ SAPPEND("opaque");
if (flags & SF_APPEND)
SAPPEND("sappnd");
if (flags & SF_ARCHIVED)
@@ -128,6 +130,9 @@ string_to_flags(stringp, setp, clrp)
clear = !clear;
TEST(p, "dump", UF_NODUMP);
return (1);
+ case 'o':
+ TEST(p, "opaque", UF_OPAQUE);
+ return (1);
case 's':
TEST(p, "sappnd", SF_APPEND);
TEST(p, "sappend", SF_APPEND);
OpenPOWER on IntegriCloud