pub fn put(self: *BufMap, key: []const u8, value: []const u8) !void self: *BufMapkey: []const u8value: []const u847
48
49
50
51
52
53
54
55
56
57
58
59
60 pub fn put(self: *BufMap, key: []const u8, value: []const u8) !void {
const value_copy = try self.copy(value);
errdefer self.free(value_copy);
const get_or_put = try self.hash_map.getOrPut(key);
if (get_or_put.found_existing) {
self.free(get_or_put.value_ptr.*);
} else {
get_or_put.key_ptr.* = self.copy(key) catch |err| {
_ = self.hash_map.remove(key);
return err;
};
}
get_or_put.value_ptr.* = value_copy;
}
keyandvalueare copied into the BufMap.