Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jun 2015 19:13:05 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r284162 - head/bin/ls
Message-ID:  <201506081913.t58JD5KX090442@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 
 	/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506081913.t58JD5KX090442>