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...@@ -74,6 +74,11 @@ fn printValue(sc: *const ScannedConfig, s: *Serializer, comptime Field: type, fi
74 Configuration.MaxRss => {74 Configuration.MaxRss => {
75 try s.value(field_value.toBytes(), .{});75 try s.value(field_value.toBytes(), .{});
76 },76 },
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 },
77 else => switch (@typeInfo(Field)) {82 else => switch (@typeInfo(Field)) {
78 .int => try s.int(field_value),83 .int => try s.int(field_value),
79 .pointer => |info| switch (info.size) {84 .pointer => |info| switch (info.size) {
lib/compiler/configurer.zig+9-9
...@@ -376,7 +376,7 @@ const Serialize = struct {...@@ -376,7 +376,7 @@ const Serialize = struct {
376 .generated = false,376 .generated = false,
377 .dep_file = false,377 .dep_file = false,
378 },378 },
379 .prefix = .{ .value = try s.addOptionalString(a.prefix) },379 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
380 .suffix = .{ .value = null },380 .suffix = .{ .value = null },
381 .basename = .{ .value = null },381 .basename = .{ .value = null },
382 .path = .{ .value = null },382 .path = .{ .value = null },
...@@ -394,7 +394,7 @@ const Serialize = struct {...@@ -394,7 +394,7 @@ const Serialize = struct {
394 .generated = false,394 .generated = false,
395 .dep_file = false,395 .dep_file = false,
396 },396 },
397 .prefix = .{ .value = try s.addOptionalString(a.prefix) },397 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
398 .suffix = .{ .value = null },398 .suffix = .{ .value = null },
399 .basename = .{ .value = null },399 .basename = .{ .value = null },
400 .path = .{ .value = try addLazyPath(s, a.lazy_path) },400 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
...@@ -412,7 +412,7 @@ const Serialize = struct {...@@ -412,7 +412,7 @@ const Serialize = struct {
412 .generated = false,412 .generated = false,
413 .dep_file = false,413 .dep_file = false,
414 },414 },
415 .prefix = .{ .value = try addOptionalString(s, a.prefix) },415 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
416 .suffix = .{ .value = try addOptionalString(s, a.suffix) },416 .suffix = .{ .value = try addOptionalString(s, a.suffix) },
417 .basename = .{ .value = null },417 .basename = .{ .value = null },
418 .path = .{ .value = try addLazyPath(s, a.lazy_path) },418 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
...@@ -430,7 +430,7 @@ const Serialize = struct {...@@ -430,7 +430,7 @@ const Serialize = struct {
430 .generated = false,430 .generated = false,
431 .dep_file = false,431 .dep_file = false,
432 },432 },
433 .prefix = .{ .value = try addOptionalString(s, a.prefix) },433 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
434 .suffix = .{ .value = null },434 .suffix = .{ .value = null },
435 .basename = .{ .value = null },435 .basename = .{ .value = null },
436 .path = .{ .value = try addLazyPath(s, a.lazy_path) },436 .path = .{ .value = try addLazyPath(s, a.lazy_path) },
...@@ -448,7 +448,7 @@ const Serialize = struct {...@@ -448,7 +448,7 @@ const Serialize = struct {
448 .generated = false,448 .generated = false,
449 .dep_file = false,449 .dep_file = false,
450 },450 },
451 .prefix = .{ .value = try addOptionalString(s, a) },451 .prefix = .{ .value = try wc.addString(a) },
452 .suffix = .{ .value = null },452 .suffix = .{ .value = null },
453 .basename = .{ .value = null },453 .basename = .{ .value = null },
454 .path = .{ .value = null },454 .path = .{ .value = null },
...@@ -466,9 +466,9 @@ const Serialize = struct {...@@ -466,9 +466,9 @@ const Serialize = struct {
466 .generated = true,466 .generated = true,
467 .dep_file = false,467 .dep_file = false,
468 },468 },
469 .prefix = .{ .value = try addOptionalString(s, a.prefix) },469 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
470 .suffix = .{ .value = null },470 .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 },
472 .path = .{ .value = null },472 .path = .{ .value = null },
473 .producer = .{ .value = null },473 .producer = .{ .value = null },
474 .generated = .{ .value = a.generated_file },474 .generated = .{ .value = a.generated_file },
...@@ -484,9 +484,9 @@ const Serialize = struct {...@@ -484,9 +484,9 @@ const Serialize = struct {
484 .generated = true,484 .generated = true,
485 .dep_file = false,485 .dep_file = false,
486 },486 },
487 .prefix = .{ .value = try addOptionalString(s, a.prefix) },487 .prefix = .{ .value = if (a.prefix.len != 0) try wc.addString(a.prefix) else null },
488 .suffix = .{ .value = null },488 .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 },
490 .path = .{ .value = null },490 .path = .{ .value = null },
491 .producer = .{ .value = null },491 .producer = .{ .value = null },
492 .generated = .{ .value = a.generated_file },492 .generated = .{ .value = a.generated_file },