diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-04-17 08:53:37 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-04-17 08:53:37 +0000 |
commit | fcca6c721cde7780c91912aba0afbd44bd1818d5 (patch) | |
tree | 1a9f50adac63a59f4eff21fde4665f895a275e1d /Src/Zle/computil.c | |
parent | 306adcc9c47ac959d5fdd85ddb85470fac086e87 (diff) | |
download | zsh-fcca6c721cde7780c91912aba0afbd44bd1818d5.tar.gz zsh-fcca6c721cde7780c91912aba0afbd44bd1818d5.tar.xz zsh-fcca6c721cde7780c91912aba0afbd44bd1818d5.zip |
fix for exclusion lists for -+o specifications
Diffstat (limited to 'Src/Zle/computil.c')
-rw-r--r-- | Src/Zle/computil.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 129119799..709e8f1ab 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -623,7 +623,7 @@ parse_cadef(char *nam, char **args) * stuff twice for such things. */ name = ++p; *p = (again ? '-' : '+'); - again = 1 - again; + again++; } else { name = p; /* If it's a long option skip over the first `-'. */ @@ -767,7 +767,7 @@ parse_cadef(char *nam, char **args) opt->descr = NULL; } else opt->descr = NULL; - opt->xor = xor; + opt->xor = (again == 1 ? zarrdup(xor) : xor); opt->type = otype; opt->args = oargs; opt->num = nopts++; @@ -783,7 +783,7 @@ parse_cadef(char *nam, char **args) if (single && name[1] && !name[2]) ret->single[STOUC(name[1])] = opt; - if (again) { + if (again == 1) { /* Do it all again for `*-...'. */ p = dupstring(*args); goto rec; |