about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-01-23 19:51:34 -0500
committerRich Felker <dalias@aerifal.cx>2012-01-23 19:51:34 -0500
commitd0678b58ab34f9afae099afc839430bdcd91aaac (patch)
treea77de7c84c666b730125194c82eb25ac0ad75461 /src
parentfd7015d0c23edb9ae655e5ce3677f980f0cb1143 (diff)
downloadmusl-d0678b58ab34f9afae099afc839430bdcd91aaac.tar.gz
musl-d0678b58ab34f9afae099afc839430bdcd91aaac.tar.xz
musl-d0678b58ab34f9afae099afc839430bdcd91aaac.zip
make glob mark symlinks-to-directories with the GLOB_MARK flag
POSIX is unclear on whether it should, but all historical
implementations seem to behave this way, and it seems more useful to
applications.
Diffstat (limited to 'src')
-rw-r--r--src/regex/glob.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/regex/glob.c b/src/regex/glob.c
index bbe78f7d..3476e010 100644
--- a/src/regex/glob.c
+++ b/src/regex/glob.c
@@ -117,7 +117,7 @@ static int match_in_dir(const char *d, const char *p, int flags, int (*errfunc)(
 		} else {
 			int mark = 0;
 			if (flags & GLOB_MARK) {
-				if (de->d_type)
+				if (de->d_type && !S_ISLNK(de->d_type<<12))
 					mark = S_ISDIR(de->d_type<<12);
 				else {
 					struct stat st;