summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/glob.c7
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))) {