aboutsummaryrefslogtreecommitdiff
path: root/src/deps/zig-clap/clap/streaming.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/deps/zig-clap/clap/streaming.zig')
-rw-r--r--src/deps/zig-clap/clap/streaming.zig15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/deps/zig-clap/clap/streaming.zig b/src/deps/zig-clap/clap/streaming.zig
index e3948e33b..1611a41ae 100644
--- a/src/deps/zig-clap/clap/streaming.zig
+++ b/src/deps/zig-clap/clap/streaming.zig
@@ -71,22 +71,21 @@ pub fn StreamingClap(comptime Id: type, comptime ArgIterator: type) type {
if (!mem.eql(u8, name, match))
continue;
- if (param.takes_value == .none) {
- if (maybe_value != null)
+
+ if (param.takes_value == .none or param.takes_value == .one_optional) {
+ if (param.takes_value == .none and maybe_value != null) {
return parser.err(arg, .{ .long = name }, error.DoesntTakeValue);
+ }
- return ArgType{ .param = param };
+ return ArgType{ .param = param, .value = maybe_value };
}
const value = blk: {
if (maybe_value) |v|
break :blk v;
- break :blk parser.iter.next() orelse brk2: {
- if (param.takes_value != .one_optional)
- return parser.err(arg, .{ .long = name }, error.MissingValue);
-
- break :brk2 "";
+ break :blk parser.iter.next() orelse {
+ return parser.err(arg, .{ .long = name }, error.MissingValue);
};
};