From d98a67c56990a81bc8a913612b8a2ae496000836 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sat, 3 Nov 2001 23:36:33 +0000 Subject: 16201: introduce the PM_NAMEDDIR flag --- Src/params.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Src/params.c') diff --git a/Src/params.c b/Src/params.c index cd0b16964..22346896d 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2147,6 +2147,7 @@ unsetparam_pm(Param pm, int altflag, int exp) paramtab->addnode(paramtab, oldpm->nam, oldpm); if ((PM_TYPE(oldpm->flags) == PM_SCALAR) && !(pm->flags & PM_HASHELEM) && + (oldpm->flags & PM_NAMEDDIR) && oldpm->sets.cfn == strsetfn) adduserdir(oldpm->nam, oldpm->u.str, 0, 0); if (oldpm->flags & PM_EXPORTED) { @@ -2231,8 +2232,11 @@ strsetfn(Param pm, char *x) { zsfree(pm->u.str); pm->u.str = x; - if (!(pm->flags & PM_HASHELEM)) + if (!(pm->flags & PM_HASHELEM) && + ((pm->flags & PM_NAMEDDIR) || isset(AUTONAMEDIRS))) { + pm->flags |= PM_NAMEDDIR; adduserdir(pm->nam, x, 0, 0); + } } /* Function to get value of an array parameter */ -- cgit 1.4.1