ls: make it possible to disable file capabilities checking
authorKamil Dudka <kdudka@redhat.com>
Mon, 20 Oct 2008 13:39:07 +0000 (15:39 +0200)
committerJim Meyering <meyering@redhat.com>
Tue, 21 Oct 2008 09:13:01 +0000 (11:13 +0200)
* ls.c (print_color_indicator): Do not check for file capability
if that attribute is not being colored.
Since 84f6abfe00b4ab533145623638b417a2221f9c75, ls --color would check
each file for "capabilities".  In <http://bugzilla.redhat.com/467508>,
James Antill reported that ls --color seemed slower with capabilities
detection.

src/ls.c

index 739057c..3021768 100644 (file)
--- a/src/ls.c
+++ b/src/ls.c
@@ -3975,7 +3975,7 @@ print_color_indicator (const char *name, mode_t mode, int linkok,
            type = C_SETUID;
          else if ((mode & S_ISGID) != 0)
            type = C_SETGID;
-         else if (has_capability (name))
+         else if (is_colored (C_CAP) && has_capability (name))
            type = C_CAP;
          else if ((mode & S_IXUGO) != 0)
            type = C_EXEC;