aboutsummaryrefslogtreecommitdiff
path: root/src/allocators.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-10-15 20:08:40 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-10-15 20:08:40 -0700
commitcf2e81b03662c4b1a227d1bc9560a91826ef20e6 (patch)
tree0dc03cb97af1eb0615b8bb491696247962a81b73 /src/allocators.zig
parent0baa3b511e28cfb124f712e12d8f93474e6ce6fa (diff)
parentbf2732599cc7e45f320f75b38672c1a1fc3d5583 (diff)
downloadbun-cf2e81b03662c4b1a227d1bc9560a91826ef20e6.tar.gz
bun-cf2e81b03662c4b1a227d1bc9560a91826ef20e6.tar.zst
bun-cf2e81b03662c4b1a227d1bc9560a91826ef20e6.zip
Merge branch 'jarred/gen'
Diffstat (limited to 'src/allocators.zig')
-rw-r--r--src/allocators.zig11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/allocators.zig b/src/allocators.zig
index 2025c4961..8d1788f51 100644
--- a/src/allocators.zig
+++ b/src/allocators.zig
@@ -272,6 +272,11 @@ pub fn BSSStringList(comptime _count: usize, comptime _item_length: usize) type
return constStrToU8(slice);
}
+ pub fn appendMutable(self: *Self, comptime AppendType: type, _value: AppendType) ![]u8 {
+ const appended = try @call(.{ .modifier = .always_inline }, append, .{ self, AppendType, _value });
+ return constStrToU8(appended);
+ }
+
pub fn append(self: *Self, comptime AppendType: type, _value: AppendType) ![]const u8 {
mutex.lock();
defer mutex.unlock();
@@ -302,7 +307,7 @@ pub fn BSSStringList(comptime _count: usize, comptime _item_length: usize) type
) ![]const u8 {
const value_len: usize = brk: {
switch (comptime AppendType) {
- []const u8, []u8 => {
+ []const u8, []u8, [:0]const u8, [:0]u8 => {
break :brk _value.len;
},
else => {
@@ -322,7 +327,7 @@ pub fn BSSStringList(comptime _count: usize, comptime _item_length: usize) type
backing_buf_used += value_len;
switch (AppendType) {
- []const u8, []u8 => {
+ []const u8, []u8, [:0]const u8, [:0]u8 => {
std.mem.copy(u8, backing_buf[start .. backing_buf_used - 1], _value);
backing_buf[backing_buf_used - 1] = 0;
},
@@ -341,7 +346,7 @@ pub fn BSSStringList(comptime _count: usize, comptime _item_length: usize) type
var value_buf = try self.allocator.alloc(u8, value_len);
switch (comptime AppendType) {
- []const u8, []u8 => {
+ []const u8, []u8, [:0]const u8, [:0]u8 => {
std.mem.copy(u8, value_buf, _value);
},
else => {