authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-04-19 12:45:35-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-05-25 18:54:34-07:00
log24d260363f7130bd1a82a7aa07f123707c5de447
tree6409e4285292a904e759debe7b43183d20b25145
parent7c718fc72e23130b3093ccec7d644ee94017f3d6

configurer: fix bad serialization of strings in run args


2 files changed, 14 insertions(+), 9 deletions(-)

lib/compiler/Maker/ScannedConfig.zig+5
......@@ -74,6 +74,11 @@ fn printValue(sc: *const ScannedConfig, s: *Serializer, comptime Field: type, fi
7474 Configuration.MaxRss => {
7575 try s.value(field_value.toBytes(), .{});
7676 },
77 Configuration.Step.Run.Arg.Index => {
78 var sub_struct = try s.beginStruct(.{});
79 try printStruct(sc, &sub_struct, Configuration.Step.Run.Arg, field_value.get(c));
80 try sub_struct.end();
81 },
7782 else => switch (@typeInfo(Field)) {
7883 .int => try s.int(field_value),
7984 .pointer => |info| switch (info.size) {
lib/compiler/configurer.zig+9-9
......@@ -376,7 +376,7 @@ const Serialize = struct {
376376 .generated = false,
377377 .dep_file = false,
378378 },
379 .prefix = .{ .value = try s.addOptionalString(a.prefix) },
379 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
380380 .suffix = .{ .value = null },
381381 .basename = .{ .value = null },
382382 .path = .{ .value = null },
......@@ -394,7 +394,7 @@ const Serialize = struct {
394394 .generated = false,
395395 .dep_file = false,
396396 },
397 .prefix = .{ .value = try s.addOptionalString(a.prefix) },
397 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
398398 .suffix = .{ .value = null },
399399 .basename = .{ .value = null },
400400 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
......@@ -412,7 +412,7 @@ const Serialize = struct {
412412 .generated = false,
413413 .dep_file = false,
414414 },
415 .prefix = .{ .value = try addOptionalString(s, a.prefix) },
415 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
416416 .suffix = .{ .value = try addOptionalString(s, a.suffix) },
417417 .basename = .{ .value = null },
418418 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
......@@ -430,7 +430,7 @@ const Serialize = struct {
430430 .generated = false,
431431 .dep_file = false,
432432 },
433 .prefix = .{ .value = try addOptionalString(s, a.prefix) },
433 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
434434 .suffix = .{ .value = null },
435435 .basename = .{ .value = null },
436436 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
......@@ -448,7 +448,7 @@ const Serialize = struct {
448448 .generated = false,
449449 .dep_file = false,
450450 },
451 .prefix = .{ .value = try addOptionalString(s, a) },
451 .prefix = .{ .value = try wc.addString(a) },
452452 .suffix = .{ .value = null },
453453 .basename = .{ .value = null },
454454 .path = .{ .value = null },
......@@ -466,9 +466,9 @@ const Serialize = struct {
466466 .generated = true,
467467 .dep_file = false,
468468 },
469 .prefix = .{ .value = try addOptionalString(s, a.prefix) },
469 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
470470 .suffix = .{ .value = null },
471 .basename = .{ .value = try addOptionalString(s, a.basename) },
471 .basename = .{ .value = if (a.basename.len != 0) try wc.addString(a.basename) else null },
472472 .path = .{ .value = null },
473473 .producer = .{ .value = null },
474474 .generated = .{ .value = a.generated_file },
......@@ -484,9 +484,9 @@ const Serialize = struct {
484484 .generated = true,
485485 .dep_file = false,
486486 },
487 .prefix = .{ .value = try addOptionalString(s, a.prefix) },
487 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
488488 .suffix = .{ .value = null },
489 .basename = .{ .value = try addOptionalString(s, a.basename) },
489 .basename = .{ .value = if (a.basename.len != 0) try wc.addString(a.basename) else null },
490490 .path = .{ .value = null },
491491 .producer = .{ .value = null },
492492 .generated = .{ .value = a.generated_file },