From 8c98e6404b22aafc0184e999d8f068b81cc22fa1 Mon Sep 17 00:00:00 2001 From: Jimmi Holst Christensen Date: Sat, 30 Mar 2024 16:36:20 +0100 Subject: Arguments: Ensure no member of `fields` is undefined related #122 --- clap.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'clap.zig') diff --git a/clap.zig b/clap.zig index a64ba08..2fc70ca 100644 --- a/clap.zig +++ b/clap.zig @@ -895,8 +895,15 @@ fn Arguments( comptime value_parsers: anytype, comptime multi_arg_kind: MultiArgKind, ) type { - var fields: [params.len]builtin.Type.StructField = undefined; + var fields_len: usize = 0; + for (params) |param| { + const longest = param.names.longest(); + if (longest.kind == .positional) + continue; + fields_len += 1; + } + var fields: [fields_len]builtin.Type.StructField = undefined; var i: usize = 0; for (params) |param| { const longest = param.names.longest(); @@ -926,7 +933,7 @@ fn Arguments( return @Type(.{ .Struct = .{ .layout = .auto, - .fields = fields[0..i], + .fields = &fields, .decls = &.{}, .is_tuple = false, } }); -- cgit v1.2.3