summaryrefslogtreecommitdiffstats
path: root/Test
diff options
context:
space:
mode:
authorJoshua Krusell <js.shirin@gmail.com>2025-10-06 10:47:28 +0200
committerdana <dana@dana.is>2025-10-24 14:32:20 -0500
commit8d21e54bdb964c0aef25339c397d145feaaa3a24 (patch)
tree64c0585a1f94e151cdb12c9432eb0be170d54ad8 /Test
parentgithub #131: add missing options (diff)
downloadzsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar.gz
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar.bz2
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar.lz
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar.xz
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.tar.zst
zsh-8d21e54bdb964c0aef25339c397d145feaaa3a24.zip
53988: fix zparseopts segfault
Diffstat (limited to 'Test')
-rw-r--r--Test/V12zparseopts.ztst19
1 files changed, 19 insertions, 0 deletions
diff --git a/Test/V12zparseopts.ztst b/Test/V12zparseopts.ztst
index e6139ea5e..41c21b304 100644
--- a/Test/V12zparseopts.ztst
+++ b/Test/V12zparseopts.ztst
@@ -112,6 +112,25 @@
>ret: 0, optv: -a -b -c, argvv: 1 2 3, argv: -x -y -z 7 8 9
() {
+ local -a optv
+ zparseopts -a optv -v argvv - a
+ print -r - ret: $?, optv: $optv, argv: $argv
+ } -a
+0:zparseopts -v with unset parameter
+?(anon):zparseopts:2: no such array: argvv
+>ret: 1, optv: , argv: -a
+
+ () {
+ local -a optv
+ local argvv=1
+ zparseopts -a optv -v argvv - a
+ print -r - ret: $?, optv: $optv, argv: $argv
+ } -a
+0:zparseopts -v with non-array argument
+?(anon):zparseopts:3: no such array: argvv
+>ret: 1, optv: , argv: -a
+
+ () {
local -a optv aa ab
zparseopts -a optv - a=aa b:=ab c:- z
print -r - ret: $?, optv: $optv, aa: $aa, ab: $ab, argv: $argv