From d999a8e33b75a6ddd477cc71d8f682fe703496eb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 9 Jan 2025 21:56:49 -0800 Subject: [PATCH] wasm-linker: fix splitSegmentName and add unit test --- src/link/Wasm/Flush.zig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/link/Wasm/Flush.zig b/src/link/Wasm/Flush.zig index 390f024642..9e74328c46 100644 --- a/src/link/Wasm/Flush.zig +++ b/src/link/Wasm/Flush.zig @@ -1182,10 +1182,18 @@ fn emitProducerSection(gpa: Allocator, binary_bytes: *std.ArrayListUnmanaged(u8) fn splitSegmentName(name: []const u8) struct { []const u8, []const u8 } { const start = @intFromBool(name.len >= 1 and name[0] == '.'); - const pivot = mem.indexOfScalarPos(u8, name, start, '.') orelse 0; + const pivot = mem.indexOfScalarPos(u8, name, start, '.') orelse name.len; return .{ name[0..pivot], name[pivot..] }; } +test splitSegmentName { + { + const a, const b = splitSegmentName(".data"); + try std.testing.expectEqualStrings(".data", a); + try std.testing.expectEqualStrings("", b); + } +} + fn wantSegmentMerge( wasm: *const Wasm, a_id: Wasm.DataSegmentId,