summaryrefslogtreecommitdiff
path: root/clap.zig
diff options
context:
space:
mode:
Diffstat (limited to 'clap.zig')
-rw-r--r--clap.zig11
1 files changed, 9 insertions, 2 deletions
diff --git a/clap.zig b/clap.zig
index a64ba08..2fc70ca 100644
--- a/clap.zig
+++ b/clap.zig
@@ -895,8 +895,15 @@ fn Arguments(
895 comptime value_parsers: anytype, 895 comptime value_parsers: anytype,
896 comptime multi_arg_kind: MultiArgKind, 896 comptime multi_arg_kind: MultiArgKind,
897) type { 897) type {
898 var fields: [params.len]builtin.Type.StructField = undefined; 898 var fields_len: usize = 0;
899 for (params) |param| {
900 const longest = param.names.longest();
901 if (longest.kind == .positional)
902 continue;
903 fields_len += 1;
904 }
899 905
906 var fields: [fields_len]builtin.Type.StructField = undefined;
900 var i: usize = 0; 907 var i: usize = 0;
901 for (params) |param| { 908 for (params) |param| {
902 const longest = param.names.longest(); 909 const longest = param.names.longest();
@@ -926,7 +933,7 @@ fn Arguments(
926 933
927 return @Type(.{ .Struct = .{ 934 return @Type(.{ .Struct = .{
928 .layout = .auto, 935 .layout = .auto,
929 .fields = fields[0..i], 936 .fields = &fields,
930 .decls = &.{}, 937 .decls = &.{},
931 .is_tuple = false, 938 .is_tuple = false,
932 } }); 939 } });