aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/lib/struct.zig
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-10 21:51:57 +0300
committerGitHub <noreply@github.com>2026-09-10 21:51:57 +0300
commit425c86179791cd32e2d4ce0ae7f269940b4b0663 (patch)
treee52c4383a6d69216cbe2a32638bf90841d7e2189 /vendor/libghostty-vt/src/lib/struct.zig
parent90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff)
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'vendor/libghostty-vt/src/lib/struct.zig')
-rw-r--r--vendor/libghostty-vt/src/lib/struct.zig24
1 files changed, 11 insertions, 13 deletions
diff --git a/vendor/libghostty-vt/src/lib/struct.zig b/vendor/libghostty-vt/src/lib/struct.zig
index bbf07ece..262e037f 100644
--- a/vendor/libghostty-vt/src/lib/struct.zig
+++ b/vendor/libghostty-vt/src/lib/struct.zig
@@ -20,23 +20,21 @@ pub fn Struct(
.zig => Zig,
.c => c: {
const info = @typeInfo(Zig).@"struct";
- var fields: [info.fields.len]std.builtin.Type.StructField = undefined;
- for (info.fields, 0..) |field, i| {
- fields[i] = .{
- .name = field.name,
- .type = field.type,
+ var names: [info.fields.len][]const u8 = undefined;
+ var types: [info.fields.len]type = undefined;
+ var attrs: [info.fields.len]std.builtin.Type.StructField.Attributes = undefined;
+
+ for (info.fields, &names, &types, &attrs) |field, *name, *ty, *attr| {
+ name.* = field.name;
+ ty.* = field.type;
+ attr.* = .{
+ .@"align" = field.alignment,
+ .@"comptime" = field.is_comptime,
.default_value_ptr = field.default_value_ptr,
- .is_comptime = field.is_comptime,
- .alignment = if (field.alignment > 0) field.alignment else @alignOf(field.type),
};
}
- break :c @Type(.{ .@"struct" = .{
- .layout = .@"extern",
- .fields = &fields,
- .decls = &.{},
- .is_tuple = info.is_tuple,
- } });
+ break :c @Struct(.@"extern", null, &names, &types, &attrs);
},
};
}