aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/api/bun.zig4
-rw-r--r--src/bun.js/bindings/bindings.zig8
-rw-r--r--src/bun.js/webcore/response.zig2
3 files changed, 9 insertions, 5 deletions
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig
index 324a6f9db..6fb3f0b4a 100644
--- a/src/bun.js/api/bun.zig
+++ b/src/bun.js/api/bun.zig
@@ -173,10 +173,10 @@ pub fn which(
return JSC.JSValue.jsNull().asObjectRef();
}
- path_str = ZigString.Slice.fromUTF8(
+ path_str = ZigString.Slice.fromUTF8NeverFree(
globalThis.bunVM().bundler.env.map.get("PATH") orelse "",
);
- cwd_str = ZigString.Slice.fromUTF8(
+ cwd_str = ZigString.Slice.fromUTF8NeverFree(
globalThis.bunVM().bundler.fs.top_level_dir,
);
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig
index 7aa148c4d..f041d32f7 100644
--- a/src/bun.js/bindings/bindings.zig
+++ b/src/bun.js/bindings/bindings.zig
@@ -203,7 +203,7 @@ pub const ZigString = extern struct {
ptr: [*]const u8,
len: u32,
- pub fn fromUTF8(input: []const u8) Slice {
+ pub fn fromUTF8NeverFree(input: []const u8) Slice {
return .{
.ptr = input.ptr,
.len = @truncate(u32, input.len),
@@ -479,7 +479,11 @@ pub const ZigString = extern struct {
if (!this.isUTF8() and !strings.isAllASCII(untagged(this.ptr)[0..this.len])) {
var buffer = this.toOwnedSlice(allocator) catch unreachable;
- return Slice.fromUTF8(buffer);
+ return Slice{
+ .allocator = allocator,
+ .ptr = buffer.ptr,
+ .len = @truncate(u32, buffer.len),
+ };
}
return Slice{
diff --git a/src/bun.js/webcore/response.zig b/src/bun.js/webcore/response.zig
index 43b40b3b6..32e1e3f9b 100644
--- a/src/bun.js/webcore/response.zig
+++ b/src/bun.js/webcore/response.zig
@@ -3103,7 +3103,7 @@ pub const Blob = struct {
input_path = .{ .fd = store.data.file.pathlike.fd };
} else {
input_path = .{
- .path = ZigString.Slice.fromUTF8(store.data.file.pathlike.path.slice()),
+ .path = ZigString.Slice.fromUTF8NeverFree(store.data.file.pathlike.path.slice()),
};
}