summaryrefslogtreecommitdiff
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
parentfd7015d0c23edb9ae655e5ce3677f980f0cb1143 (diff)
downloadmusl-d0678b58ab34f9afae099afc839430bdcd91aaac.tar.gz
musl-d0678b58ab34f9afae099afc839430bdcd91aaac.tar.bz2
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.
-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;