svn commit: r284162 - head/bin/ls

Xin LI delphij at FreeBSD.org
Mon Jun 8 19:13:05 UTC 2015


Author: delphij
Date: Mon Jun  8 19:13:04 2015
New Revision: 284162
URL: https://svnweb.freebsd.org/changeset/base/284162

Log:
  It has been long time that when doing 'ls -G /path/to/a/symlink', instead of
  using the color of symbolic link, the color is determined by the link target.
  This behavior was quite confusing.
  
  Looking at the file history, it looks like that r203665 intends to fix this
  but the issue was never actually fixed.
  
  Fix this by not setting FTS_COMFOLLOW when color is requested like what was
  done in r203665.
  
  MFC after:	2 weeks

Modified:
  head/bin/ls/ls.c

Modified: head/bin/ls/ls.c
==============================================================================
--- head/bin/ls/ls.c	Mon Jun  8 18:59:14 2015	(r284161)
+++ head/bin/ls/ls.c	Mon Jun  8 19:13:04 2015	(r284162)
@@ -413,9 +413,14 @@ main(int argc, char *argv[])
 
 	/*
 	 * If not -F, -P, -d or -l options, follow any symbolic links listed on
-	 * the command line.
+	 * the command line, unless in color mode in which case we need to
+	 * distinguish file type for a symbolic link itself and its target.
 	 */
-	if (!f_nofollow && !f_longform && !f_listdir && (!f_type || f_slash))
+	if (!f_nofollow && !f_longform && !f_listdir && (!f_type || f_slash)
+#ifdef COLORLS
+	    && !f_color
+#endif
+	    )
 		fts_options |= FTS_COMFOLLOW;
 
 	/*


More information about the svn-src-all mailing list