diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | Src/glob.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 5ad19074f..23580ff0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-10-22 Peter Stephenson <pws@csr.com> + + * 24006: Src/glob.c: (F) glob qualifier needs to unmetafy. + 2007-10-21 Clint Adams <clint@zsh.org> * 24005: Src/Modules/curses.c: enforce min/max arguments on zcurses diff --git a/Src/glob.c b/Src/glob.c index d95eced35..b703926a9 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -326,7 +326,8 @@ insert(char *s, int checked) /* Reject the file if the function returned zero * * and the sense was positive (sense&1 == 0), or * * vice versa. */ - if ((!((qn->func) (news, bp, qn->data, qn->sdata)) ^ qn->sense) & 1) { + if ((!((qn->func) (news, bp, qn->data, qn->sdata)) + ^ qn->sense) & 1) { /* Try next alternative, or return if there are no more */ if (!(qo = qo->or)) { unqueue_signals(); @@ -3254,6 +3255,8 @@ qualnonemptydir(char *name, struct stat *buf, UNUSED(off_t days), UNUSED(char *s { DIR *dirh; struct dirent *de; + int unamelen; + char *uname = unmetafy(dupstring(name), &unamelen); if (!S_ISDIR(buf->st_mode)) return 0; @@ -3261,7 +3264,7 @@ qualnonemptydir(char *name, struct stat *buf, UNUSED(off_t days), UNUSED(char *s if (buf->st_nlink > 2) return 1; - if (!(dirh = opendir(name))) + if (!(dirh = opendir(uname))) return 0; while ((de = readdir(dirh))) { |