diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-05-10 08:20:40 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-05-10 08:20:40 +0000 |
commit | 5b5c0e8fc9133b7b813902360fe9ded7d39f7317 (patch) | |
tree | f9eaa3f3aaebde4403f0a02f23273c39a604f9d4 /Src/Zle/computil.c | |
parent | aa4a931544e21719ff9bc33c4f1fcef79eb31210 (diff) | |
download | zsh-5b5c0e8fc9133b7b813902360fe9ded7d39f7317.tar.gz zsh-5b5c0e8fc9133b7b813902360fe9ded7d39f7317.tar.xz zsh-5b5c0e8fc9133b7b813902360fe9ded7d39f7317.zip |
fix for `-+opt' with mutex list (11294)
Diffstat (limited to 'Src/Zle/computil.c')
-rw-r--r-- | Src/Zle/computil.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c index 7f743492a..91149d2d2 100644 --- a/Src/Zle/computil.c +++ b/Src/Zle/computil.c @@ -651,7 +651,7 @@ parse_cadef(char *nam, char **args, int multi) Caopt opt; Caarg oargs = NULL; int multi, otype = CAO_NEXT, again = 0; - char *name, *descr, c; + char *name, *descr, c, *againp = NULL; rec: @@ -665,6 +665,7 @@ parse_cadef(char *nam, char **args, int multi) p[2] != '=' && p[2] != '-' && p[2] != '+') { /* It's a -+ or +- definition. We just execute the whole * stuff twice for such things. */ + againp = dupstring(p); name = ++p; *p = (again ? '-' : '+'); again++; @@ -838,7 +839,7 @@ parse_cadef(char *nam, char **args, int multi) if (again == 1) { /* Do it all again for `*-...'. */ - p = dupstring(*args); + p = againp; goto rec; } } else if (*p == '*') { |