commit 24d260363f7130bd1a82a7aa07f123707c5de447 (tree)
parent 7c718fc72e23130b3093ccec7d644ee94017f3d6
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sun, 19 Apr 2026 12:45:35 -0700
configurer: fix bad serialization of strings in run args
Diffstat:
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/lib/compiler/Maker/ScannedConfig.zig b/lib/compiler/Maker/ScannedConfig.zig
@@ -74,6 +74,11 @@ fn printValue(sc: *const ScannedConfig, s: *Serializer, comptime Field: type, fi
Configuration.MaxRss => {
try s.value(field_value.toBytes(), .{});
},
+ Configuration.Step.Run.Arg.Index => {
+ var sub_struct = try s.beginStruct(.{});
+ try printStruct(sc, &sub_struct, Configuration.Step.Run.Arg, field_value.get(c));
+ try sub_struct.end();
+ },
else => switch (@typeInfo(Field)) {
.int => try s.int(field_value),
.pointer => |info| switch (info.size) {
diff --git a/lib/compiler/configurer.zig b/lib/compiler/configurer.zig
@@ -376,7 +376,7 @@ const Serialize = struct {
.generated = false,
.dep_file = false,
},
- .prefix = .{ .value = try s.addOptionalString(a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = null },
.basename = .{ .value = null },
.path = .{ .value = null },
@@ -394,7 +394,7 @@ const Serialize = struct {
.generated = false,
.dep_file = false,
},
- .prefix = .{ .value = try s.addOptionalString(a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = null },
.basename = .{ .value = null },
.path = .{ .value = try addLazyPath(s, a.lazy_path) },
@@ -412,7 +412,7 @@ const Serialize = struct {
.generated = false,
.dep_file = false,
},
- .prefix = .{ .value = try addOptionalString(s, a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = try addOptionalString(s, a.suffix) },
.basename = .{ .value = null },
.path = .{ .value = try addLazyPath(s, a.lazy_path) },
@@ -430,7 +430,7 @@ const Serialize = struct {
.generated = false,
.dep_file = false,
},
- .prefix = .{ .value = try addOptionalString(s, a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = null },
.basename = .{ .value = null },
.path = .{ .value = try addLazyPath(s, a.lazy_path) },
@@ -448,7 +448,7 @@ const Serialize = struct {
.generated = false,
.dep_file = false,
},
- .prefix = .{ .value = try addOptionalString(s, a) },
+ .prefix = .{ .value = try wc.addString(a) },
.suffix = .{ .value = null },
.basename = .{ .value = null },
.path = .{ .value = null },
@@ -466,9 +466,9 @@ const Serialize = struct {
.generated = true,
.dep_file = false,
},
- .prefix = .{ .value = try addOptionalString(s, a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = null },
- .basename = .{ .value = try addOptionalString(s, a.basename) },
+ .basename = .{ .value = if (a.basename.len != 0) try wc.addString(a.basename) else null },
.path = .{ .value = null },
.producer = .{ .value = null },
.generated = .{ .value = a.generated_file },
@@ -484,9 +484,9 @@ const Serialize = struct {
.generated = true,
.dep_file = false,
},
- .prefix = .{ .value = try addOptionalString(s, a.prefix) },
+ .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
.suffix = .{ .value = null },
- .basename = .{ .value = try addOptionalString(s, a.basename) },
+ .basename = .{ .value = if (a.basename.len != 0) try wc.addString(a.basename) else null },
.path = .{ .value = null },
.producer = .{ .value = null },
.generated = .{ .value = a.generated_file },