diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2000-08-04 07:09:12 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2000-08-04 07:09:12 +0000 |
commit | 22cbf1b2719c99c2f17a34859520dbead03e5799 (patch) | |
tree | ab0c326c9a8a69c3acab21f9b880b6d3b59dfce4 /Src/Modules/parameter.c | |
parent | 55b07cb525388bca7c0dbaf057483c493ff0b053 (diff) | |
download | zsh-22cbf1b2719c99c2f17a34859520dbead03e5799.tar.gz zsh-22cbf1b2719c99c2f17a34859520dbead03e5799.tar.xz zsh-22cbf1b2719c99c2f17a34859520dbead03e5799.zip |
15216: Rewrite pathconf() support.
Diffstat (limited to 'Src/Modules/parameter.c')
-rw-r--r-- | Src/Modules/parameter.c | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 2328eae51..b2b3657c0 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -1397,20 +1397,9 @@ scanpmjobdirs(HashTable ht, ScanFunc func, int flags) static void setpmnameddir(Param pm, char *value) { -#ifdef HAVE_PATHCONF - int pathmax = 0; - errno = 0; - pathmax = pathconf(value, _PC_PATH_MAX); - if ((pathmax == -1) && errno) { - zwarn("%s: %e", value, errno); - } - else if (!value || *value != '/' || ((strlen(value) >= pathmax) && - pathmax != -1)) -#else - if (!value || *value != '/' || strlen(value) >= PATH_MAX) -#endif - zwarn("invalid value: %s", value, 0); + if (!value || *value != '/' || zpathmax(value) < 0) + zwarn((errno ? "%s: %e" : "invalid value: %s"), value, errno); else adduserdir(pm->nam, value, 0, 1); zsfree(value); @@ -1432,9 +1421,6 @@ setpmnameddirs(Param pm, HashTable ht) { int i; HashNode hn, next, hd; -#ifdef HAVE_PATHCONF - int pathmax = 0; -#endif if (!ht) return; @@ -1457,19 +1443,9 @@ setpmnameddirs(Param pm, HashTable ht) v.arr = NULL; v.pm = (Param) hn; -#ifdef HAVE_PATHCONF errno = 0; - if((((pathmax = pathconf(val, _PC_PATH_MAX)) == -1)) && errno) - zwarn("%s: %e", val, errno); - else -#endif - if (!(val = getstrvalue(&v)) || *val != '/' || -#ifdef HAVE_PATHCONF - ((strlen(val) >= pathmax)) && pathmax != -1) -#else - strlen(val) >= PATH_MAX) -#endif - zwarn("invalid value: %s", val, 0); + if (!(val = getstrvalue(&v)) || *val != '/' || zpathmax(val) < 0) + zwarn((errno ? "%s: %e" : "invalid value: %s"), val, errno); else adduserdir(hn->nam, val, 0, 1); } |