diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2025-05-15 13:21:36 +0100 |
|---|---|---|
| committer | mlugg <mlugg@mlugg.co.uk> | 2025-05-18 17:10:04 +0100 |
| commit | d32829e053af2a0f382d4d692ede85c176c9f803 (patch) | |
| tree | 1b85e5aa9e44648f78a0aa56110cff226136f5a8 /lib/std/Build | |
| parent | a0792e743ff41cf17343fad02bde54240df89419 (diff) | |
| download | zig-d32829e053af2a0f382d4d692ede85c176c9f803.tar.gz zig-d32829e053af2a0f382d4d692ede85c176c9f803.zip | |
std.Build.Cache: change contract of `addFilePostContents`
This function was broken, because it took ownership of the buffer on
error *sometimes*, in a way which the caller could not tell. Rather than
trying to be clever, it's easier to just follow the same interface as
all other `addFilePost` methods, and not take ownership of the path.
This is a breaking change. The next commits will apply it to the
compiler, which is the only user of this function in the ziglang/zig
repository.
Diffstat (limited to 'lib/std/Build')
| -rw-r--r-- | lib/std/Build/Cache.zig | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/std/Build/Cache.zig b/lib/std/Build/Cache.zig index 14719db6f9..bf63acdead 100644 --- a/lib/std/Build/Cache.zig +++ b/lib/std/Build/Cache.zig @@ -1011,17 +1011,16 @@ pub const Manifest = struct { } /// Like `addFilePost` but when the file contents have already been loaded from disk. - /// On success, cache takes ownership of `resolved_path`. pub fn addFilePostContents( self: *Manifest, - resolved_path: []u8, + file_path: []const u8, bytes: []const u8, stat: File.Stat, ) !void { assert(self.manifest_file != null); const gpa = self.cache.gpa; - const prefixed_path = try self.cache.findPrefixResolved(resolved_path); + const prefixed_path = try self.cache.findPrefix(file_path); errdefer gpa.free(prefixed_path.sub_path); const gop = try self.files.getOrPutAdapted(gpa, prefixed_path, FilesAdapter{}); |
