From 3d6e5b6231f0d80873c6f83924a48df223121e72 Mon Sep 17 00:00:00 2001 From: Joshua Krusell Date: Wed, 3 Feb 2021 16:46:59 +0100 Subject: [PATCH] 47905: Add leading '-' to zparseopts option parsing errors --- ChangeLog | 6 ++++++ Src/Modules/zutil.c | 8 ++++---- Test/V12zparseopts.ztst | 10 +++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4946b84c3..20f7eccf3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2021-02-13 Oliver Kiddle + + * 47905: Joshua Krusell: Src/Modules/zutil.c, + Test/V12zparseopts.ztst: Add leading '-' to zparseopts option + parsing errors + 2021-02-11 Bart Schaefer * unposted: NEWS, README: mention the effects of 47997. diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c index c8017d0c0..cecea6d51 100644 --- a/Src/Modules/zutil.c +++ b/Src/Modules/zutil.c @@ -1874,9 +1874,9 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) if (!(d = sopts[STOUC(*o)])) { if (fail) { if (*o != '-') - zwarnnam(nam, "bad option: %c", *o); + zwarnnam(nam, "bad option: -%c", *o); else - zwarnnam(nam, "bad option: %s", o); + zwarnnam(nam, "bad option: -%s", o); return 1; } o = NULL; @@ -1889,7 +1889,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) } else if (!(d->flags & ZOF_OPT) || (pp[1] && pp[1][0] != '-')) { if (!pp[1]) { - zwarnnam(nam, "missing argument for option: %s", + zwarnnam(nam, "missing argument for option: -%s", d->name); return 1; } @@ -1916,7 +1916,7 @@ bin_zparseopts(char *nam, char **args, UNUSED(Options ops), UNUSED(int func)) else if (!(d->flags & ZOF_OPT) || (pp[1] && pp[1][0] != '-')) { if (!pp[1]) { - zwarnnam(nam, "missing argument for option: %s", + zwarnnam(nam, "missing argument for option: -%s", d->name); return 1; } diff --git a/Test/V12zparseopts.ztst b/Test/V12zparseopts.ztst index c41c49022..816e1d041 100644 --- a/Test/V12zparseopts.ztst +++ b/Test/V12zparseopts.ztst @@ -65,11 +65,11 @@ } $=1 done 0:zparseopts -F -?(anon):zparseopts:2: bad option: x ->ret: 1, optv: , argv: -a -x -z -?(anon):zparseopts:2: bad option: x ->ret: 1, optv: , argv: -ax -z ?(anon):zparseopts:2: bad option: -x +>ret: 1, optv: , argv: -a -x -z +?(anon):zparseopts:2: bad option: -x +>ret: 1, optv: , argv: -ax -z +?(anon):zparseopts:2: bad option: --x >ret: 1, optv: , argv: -a --x -z for 1 in '-a 1 2 3' '1 2 3'; do @@ -168,5 +168,5 @@ print -r - ret: $?, optv: $optv, argv: $argv } -ab1 -c 0:missing optarg -?(anon):zparseopts:2: missing argument for option: c +?(anon):zparseopts:2: missing argument for option: -c >ret: 1, optv: , argv: -ab1 -c