Age | Commit message (Expand) | Author | Files | Lines |
---|---|---|---|---|
2022-03-26 | fix `instanceof` checks for classes | 1 | -8/+7 | |
2022-03-26 | Update syscall.zig | 1 | -2/+2 | |
2022-03-26 | clarify | 1 | -22/+22 | |
2022-03-26 | Update uws | 1 | -0/+0 |
usingnamespace @import("string_types.zig"); const Allocator = @import("std").mem.Allocator; const assert = @import("std").debug.assert; const copy = @import("std").mem.copy; const StringBuilder = @This(); len: usize = 0, cap: usize = 0, ptr: ?[*]u8 = null, pub fn count(this: *StringBuilder, slice: string) void { this.cap += slice.len; } pub fn allocate(this: *StringBuilder, allocator: *Allocator) !void { var slice = try allocator.alloc(u8, this.cap); this.ptr = slice.ptr; this.len = 0; } pub fn append(this: *StringBuilder, slice: string) string { assert(this.len <= this.cap); // didn't count everything assert(this.ptr != null); // must call allocate first copy(u8, this.ptr.?[this.len..this.cap], slice); const result = this.ptr.?[this.len..this.cap][0..slice.len]; this.len += slice.len; assert(this.len <= this.cap); return result; } ansg191/server-identity-CN
aboutsummaryrefslogtreecommitdiff |
Age | Commit message (Expand) | Author | Files | Lines |
---|---|---|---|---|
2022-03-26 | fix `instanceof` checks for classes | 1 | -8/+7 | |
2022-03-26 | Update syscall.zig | 1 | -2/+2 | |
2022-03-26 | clarify | 1 | -22/+22 | |
2022-03-26 | Update uws | 1 | -0/+0 |