summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2007-04-07 20:14:07 +0200
committerJim Meyering <jim@meyering.net>2007-04-07 20:14:07 +0200
commitd63623eb7cd6a086e52f58b02fecdd2c41b9e402 (patch)
tree3f8c7f18cb779b1afac332387227ae4d9bdec656
parentabdf924333bdf5bf7443e3b7ae68fbaddfe0cfb4 (diff)
downloadcoreutils-d63623eb7cd6a086e52f58b02fecdd2c41b9e402.tar.xz
Fix a bug in how the LS_COLORS ln=target attribute is handled.
* src/ls.c (gobble_file): Use "stat" (not lstat) also when the ln=target attribute applies. Reported by Kirk Kelsey.
-rw-r--r--ChangeLog6
-rw-r--r--src/ls.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 46b7b02ae..f95dcfd86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-07 Eric Blake <ebb9@byu.net>
+
+ Fix a bug in how the LS_COLORS ln=target attribute is handled.
+ * src/ls.c (gobble_file): Use "stat" (not lstat) also when the
+ ln=target attribute applies. Reported by Kirk Kelsey.
+
2007-04-02 Jim Meyering <jim@meyering.net>
* src/copy.c (copy_reg): Initialize local "con", before calling
diff --git a/src/ls.c b/src/ls.c
index abb0a2692..6ee67751b 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -2577,7 +2577,8 @@ gobble_file (char const *name, enum filetype type, ino_t inode,
|| ((print_inode || format_needs_type)
&& (type == symbolic_link || type == unknown)
&& (dereference == DEREF_ALWAYS
- || (command_line_arg && dereference != DEREF_NEVER)))
+ || (command_line_arg && dereference != DEREF_NEVER)
+ || color_symlink_as_referent))
/* Command line dereferences are already taken care of by the above
assertion that the inode number is not yet known. */
|| (print_inode && inode == NOT_AN_INODE_NUMBER)