mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-07-26 10:39:01 +02:00
* src/ls.c (print_color_indicator): Test for S_IFREG first, rather
than having the code test for all of the other types first. Hoist the set-uid/gid-testing code "up" into this new block. Classify any other type of file (e.g., S_TYPEISSHM, etc.) as C_ORPHAN, not as C_FILE. * doc/coreutils.texi (What information is listed): Mention that missing pieces of information are marked with "?". From Paul Eggert.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2006-07-26 Jim Meyering <jim@meyering.net>
|
||||
|
||||
* src/ls.c (print_color_indicator): Test for S_IFREG first, rather
|
||||
than having the code test for all of the other types first.
|
||||
Hoist the set-uid/gid-testing code "up" into this new block.
|
||||
Classify any other type of file (e.g., S_TYPEISSHM, etc.) as
|
||||
C_ORPHAN, not as C_FILE.
|
||||
|
||||
2006-07-26 Jim Meyering <jim@meyering.net>
|
||||
|
||||
Checking in a change from Paul.
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2006-07-26 Jim Meyering <jim@meyering.net>
|
||||
|
||||
* coreutils.texi (What information is listed): Mention that missing
|
||||
pieces of information are marked with "?". From Paul Eggert.
|
||||
|
||||
2006-07-25 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* perm.texi (Directory Setuid and Setgid): Explain that this is a
|
||||
|
||||
+2
-1
@@ -5795,7 +5795,8 @@ uniquely identifies each file within a particular file system.)
|
||||
In addition to the name of each file, print the file type, file mode bits,
|
||||
number of hard links, owner name, group name, size, and
|
||||
timestamp (@pxref{Formatting file timestamps}), normally
|
||||
the modification time.
|
||||
the modification time. Print question marks for information that
|
||||
cannot be determined.
|
||||
|
||||
Normally the size is printed as a byte count without punctuation, but
|
||||
this can be overridden (@pxref{Block size}). For example, @option{-h}
|
||||
|
||||
@@ -3832,7 +3832,7 @@ static void
|
||||
print_color_indicator (const char *name, mode_t mode, int linkok,
|
||||
bool stat_ok, enum filetype filetype)
|
||||
{
|
||||
int type = C_FILE;
|
||||
int type;
|
||||
struct color_ext_type *ext; /* Color extension */
|
||||
size_t len; /* Length of name */
|
||||
|
||||
@@ -3847,7 +3847,17 @@ print_color_indicator (const char *name, mode_t mode, int linkok,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (S_ISDIR (mode))
|
||||
if (S_ISREG (mode))
|
||||
{
|
||||
type = C_FILE;
|
||||
if ((mode & S_ISUID) != 0)
|
||||
type = C_SETUID;
|
||||
else if ((mode & S_ISGID) != 0)
|
||||
type = C_SETGID;
|
||||
else if ((mode & S_IXUGO) != 0)
|
||||
type = C_EXEC;
|
||||
}
|
||||
else if (S_ISDIR (mode))
|
||||
{
|
||||
if ((mode & S_ISVTX) && (mode & S_IWOTH))
|
||||
type = C_STICKY_OTHER_WRITABLE;
|
||||
@@ -3872,16 +3882,9 @@ print_color_indicator (const char *name, mode_t mode, int linkok,
|
||||
else if (S_ISDOOR (mode))
|
||||
type = C_DOOR;
|
||||
else
|
||||
type = C_ORPHAN;
|
||||
|
||||
if (type == C_FILE)
|
||||
{
|
||||
if ((mode & S_ISUID) != 0)
|
||||
type = C_SETUID;
|
||||
else if ((mode & S_ISGID) != 0)
|
||||
type = C_SETGID;
|
||||
else if ((mode & S_IXUGO) != 0)
|
||||
type = C_EXEC;
|
||||
/* Classify a file of some other type as C_ORPHAN. */
|
||||
type = C_ORPHAN;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user