summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-02-03 05:15:07 +0000
committerJim Meyering <jim@meyering.net>1999-02-03 05:15:07 +0000
commita6d30604508a1e9b4425d874f9eede2b34d3a33e (patch)
treec870c159486fee765ba7abda0e117647cab1dcb2
parent015e2e77ed2470456aa4a598a0269ac8a0018236 (diff)
downloadcoreutils-a6d30604508a1e9b4425d874f9eede2b34d3a33e.tar.xz
(ftypelet): Handle doors.
(S_ISDOOR): Define if missing.
-rw-r--r--lib/filemode.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/filemode.c b/lib/filemode.c
index e61f21201..c4fb54f09 100644
--- a/lib/filemode.c
+++ b/lib/filemode.c
@@ -1,5 +1,5 @@
/* filemode.c -- make a string describing file modes
- Copyright (C) 1985, 1990, 1993, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1990, 1993, 1998, 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -89,6 +89,9 @@
#if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
#endif
+#if !defined(S_ISDOOR) && defined(S_IFDOOR) /* Solaris 2.5 and up */
+# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR)
+#endif
/* Look at read, write, and execute bits in BITS and set
flags in CHARS accordingly. */
@@ -142,6 +145,7 @@ setst (short unsigned int bits, char *chars)
/* Return a character indicating the type of file described by
file mode BITS:
'd' for directories
+ 'D' for doors
'b' for block special files
'c' for character special files
'm' for multiplexor files
@@ -185,6 +189,10 @@ ftypelet (long int bits)
if (S_ISNWK (bits))
return 'n';
#endif
+#ifdef S_ISDOOR
+ if (S_ISDOOR (bits))
+ return 'D';
+#endif
/* The following two tests are for Cray DMF (Data Migration
Facility), which is a HSM file system. A migrated file has a