diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-01-10 10:25:31 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-01-10 10:25:31 +0000 |
commit | ed5c4c8e53fce85c1f450c6493b888e4dc223dcf (patch) | |
tree | 4f9064cc5332cab7f731266b4bcad882638395b2 /Src | |
parent | 5be52f092a696040f3f0e21a9fa337cc12837e4e (diff) | |
download | zsh-ed5c4c8e53fce85c1f450c6493b888e4dc223dcf.tar.gz zsh-ed5c4c8e53fce85c1f450c6493b888e4dc223dcf.tar.xz zsh-ed5c4c8e53fce85c1f450c6493b888e4dc223dcf.zip |
24384 plus extra check: care with scanprog
Diffstat (limited to 'Src')
-rw-r--r-- | Src/params.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/params.c b/Src/params.c index a8a0f7780..f7534472c 100644 --- a/Src/params.c +++ b/Src/params.c @@ -542,6 +542,8 @@ scanparamvals(HashNode hn, int flags) char ** paramvalarr(HashTable ht, int flags) { + DPUTS((flags & (SCANPM_MATCHKEY|SCANPM_MATCHVAL)) && !scanprog, + "BUG: scanning hash without scanprog set"); numparamvals = 0; if (ht) scanhashtable(ht, 0, 0, PM_UNSET, scancountparams, flags); @@ -1308,8 +1310,10 @@ getarg(char **str, int *inv, Value v, int a2, zlong *w, SCANPM_KEYMATCH))))) { *inv = (v->flags & VALFLAG_INV) ? 1 : 0; *w = v->end; + scanprog = NULL; return 1; } + scanprog = NULL; } else ta = getarrvalue(v); if (!ta || !*ta) |