diff options
author | 2023-08-28 04:39:16 -0700 | |
---|---|---|
committer | 2023-08-28 04:39:16 -0700 | |
commit | e2a17344dc543c9c652cfe2b14cd2709dd6cfd22 (patch) | |
tree | fe93965d39886494aee12dca71bdcf2a991d806f /src/string_builder.zig | |
parent | efe987e8d12e824dde840b56cbb704feabe26ed1 (diff) | |
download | bun-e2a17344dc543c9c652cfe2b14cd2709dd6cfd22.tar.gz bun-e2a17344dc543c9c652cfe2b14cd2709dd6cfd22.tar.zst bun-e2a17344dc543c9c652cfe2b14cd2709dd6cfd22.zip |
just kernel32 things (#4354)
* just kernel32 things
* more
* Update linux_c.zig
* Update windows_c.zig
* Add workaround
Workaround https://github.com/ziglang/zig/issues/16980
* Rename http.zig to bun_dev_http_server.zig
* Rename usages
* more
* more
* more
* thanks tigerbeetle
* Rename `JSC.Node.Syscall` -> `bun.sys`
* more
* woops
* more!
* hmm
* it says there are only 37 errors, but that's not true
* populate argv
* it says 32 errors!
* 24 errors
* fix regular build
* 12 left!
* Still 12 left!
* more
* 2 errors left...
* 1 more error
* Add link to Tigerbeetle
* Fix the remainign error
* Fix test timeout
* Update syscall.zig
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/string_builder.zig')
-rw-r--r-- | src/string_builder.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/string_builder.zig b/src/string_builder.zig index 8acef5f07..2111ffa1a 100644 --- a/src/string_builder.zig +++ b/src/string_builder.zig @@ -38,6 +38,18 @@ pub fn deinit(this: *StringBuilder, allocator: Allocator) void { allocator.free(this.ptr.?[0..this.cap]); } +pub fn append16(this: *StringBuilder, slice: []const u16) ?[:0]u8 { + var buf = this.writable(); + const result = bun.simdutf.convert.utf16.to.utf8.with_errors.le(slice, buf); + if (result.status == .success) { + this.len += result.count + 1; + buf[result.count] = 0; + return buf[0..result.count :0]; + } + + return null; +} + pub fn append(this: *StringBuilder, slice: string) string { if (comptime Environment.allow_assert) { assert(this.len <= this.cap); // didn't count everything |