diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2003-11-13 16:45:36 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2003-11-13 16:45:36 +0000 |
commit | af7eba0c848d12629d41be991467d35a902a9e66 (patch) | |
tree | 2f737d3e4c643d77bd7d79874fbb998ef8803fa7 /Src/params.c | |
parent | 2d241d0ff9f26f75d5923d896bd30c61b189b099 (diff) | |
download | zsh-af7eba0c848d12629d41be991467d35a902a9e66.tar.gz zsh-af7eba0c848d12629d41be991467d35a902a9e66.tar.xz zsh-af7eba0c848d12629d41be991467d35a902a9e66.zip |
merge back changes from 4.1
Diffstat (limited to 'Src/params.c')
-rw-r--r-- | Src/params.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Src/params.c b/Src/params.c index aa80bcc78..e2a9f61f7 100644 --- a/Src/params.c +++ b/Src/params.c @@ -2089,18 +2089,18 @@ unsetparam(char *s) /* Unset a parameter */ /**/ -mod_export void +mod_export int unsetparam_pm(Param pm, int altflag, int exp) { Param oldpm, altpm; if ((pm->flags & PM_READONLY) && pm->level <= locallevel) { zerr("read-only variable: %s", pm->nam, 0); - return; + return 1; } if ((pm->flags & PM_RESTRICTED) && isset(RESTRICTED)) { zerr("%s: restricted", pm->nam, 0); - return; + return 1; } pm->unsetfn(pm, exp); if ((pm->flags & PM_EXPORTED) && pm->env) { @@ -2142,7 +2142,7 @@ unsetparam_pm(Param pm, int altflag, int exp) */ if ((pm->level && locallevel >= pm->level) || (pm->flags & (PM_SPECIAL|PM_REMOVABLE)) == PM_SPECIAL) - return; + return 0; /* remove parameter node from table */ paramtab->removenode(paramtab, pm->nam); @@ -2167,6 +2167,8 @@ unsetparam_pm(Param pm, int altflag, int exp) } paramtab->freenode((HashNode) pm); /* free parameter node */ + + return 0; } /* Standard function to unset a parameter. This is mostly delegated to * |