From fb6fd42e00879016660b4f68b0b10d7ff269ae05 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 30 Oct 2000 08:19:44 +0000 Subject: [PATCH] make assignament to $nameddirs behave like hash -d (13095) --- ChangeLog | 5 +++++ Src/Modules/parameter.c | 27 ++++++++++++++++++--------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 23bcc6986..ec36285dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-10-30 Sven Wischnowsky + + * 13095: Src/Modules/parameter.c: make assignament to $nameddirs + behave like hash -d + 2000-10-25 Sven Wischnowsky * users/3472: Completion/User/_rcs: use return value of _files, diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 924799c0c..df4d1020e 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -1399,11 +1399,15 @@ scanpmjobdirs(HashTable ht, ScanFunc func, int flags) static void setpmnameddir(Param pm, char *value) { - if (!value || *value != '/') - zwarn("invalid value: %s", value, 0); - else - adduserdir(pm->nam, value, 0, 1); - zsfree(value); + if (!value) + zwarn("invalid value: ''", NULL, 0); + else { + Nameddir nd = (Nameddir) zcalloc(sizeof(*nd)); + + nd->flags = 0; + nd->dir = value; + nameddirtab->addnode(nameddirtab, ztrdup(pm->nam), nd); + } } /**/ @@ -1444,10 +1448,15 @@ setpmnameddirs(Param pm, HashTable ht) v.arr = NULL; v.pm = (Param) hn; - if (!(val = getstrvalue(&v)) || *val != '/') - zwarn("invalid value: %s", val, 0); - else - adduserdir(hn->nam, val, 0, 1); + if (!(val = getstrvalue(&v))) + zwarn("invalid value: ''", NULL, 0); + else { + Nameddir nd = (Nameddir) zcalloc(sizeof(*nd)); + + nd->flags = 0; + nd->dir = ztrdup(val); + nameddirtab->addnode(nameddirtab, ztrdup(hn->nam), nd); + } } /* The INTERACTIVE stuff ensures that the dirs are not immediatly removed