summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/glob.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/glob.c b/Src/glob.c
index 94b3f620d..8bd2fc493 100644
--- a/Src/glob.c
+++ b/Src/glob.c
@@ -3802,13 +3802,16 @@ qualsheval(char *name, UNUSED(struct stat *buf), UNUSED(off_t days), char *str)
if ((prog = parse_string(str, 0))) {
int ef = errflag, lv = lastval, ret;
+ int cshglob = badcshglob;
unsetparam("reply");
setsparam("REPLY", ztrdup(name));
+ badcshglob = 0;
execode(prog, 1, 0, "globqual");
- ret = lastval;
+ if ((ret = lastval))
+ badcshglob |= cshglob;
/* Retain any user interrupt error status */
errflag = ef | (errflag & ERRFLAG_INT);
lastval = lv;