aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-01-09 21:56:49 -0800
committerAndrew Kelley <andrew@ziglang.org>2025-01-15 15:11:36 -0800
commitd999a8e33b75a6ddd477cc71d8f682fe703496eb (patch)
treeada7c347c20d6b76ac5620e6726e9fa78fa059ba /src
parent788b7f8f115e8510176ca7fbfdc04fb48d69ecb1 (diff)
downloadzig-d999a8e33b75a6ddd477cc71d8f682fe703496eb.tar.gz
zig-d999a8e33b75a6ddd477cc71d8f682fe703496eb.zip
wasm-linker: fix splitSegmentName and add unit test
Diffstat (limited to 'src')
-rw-r--r--src/link/Wasm/Flush.zig10
1 files changed, 9 insertions, 1 deletions
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,