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 Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/node-fallbacks/assert.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-03-26fix `instanceof` checks for classesGravatar Jarred Sumner 1-8/+7
2022-03-26Update syscall.zigGravatar Jarred Sumner 1-2/+2
2022-03-26clarifyGravatar Jarred Sumner 1-22/+22
2022-03-26Update uwsGravatar Jarred Sumner 1-0/+0