From 42606d6aed323fa24b6783b24624e9f57cb9ef9d Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Thu, 1 Jun 2023 18:02:41 -0700 Subject: Rename `ptr` to `_unsafe_ptr_do_not_use` (#3163) * Rename `ptr` to `_unsafe_ptr_do_not_use` * Fixup --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/api/bun.zig | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src/bun.js/api/bun.zig') diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig index f4900d0d2..3e09075e7 100644 --- a/src/bun.js/api/bun.zig +++ b/src/bun.js/api/bun.zig @@ -486,18 +486,17 @@ pub fn getFilePath(ctx: js.JSContextRef, arguments: []const js.JSValueRef, buf: } const value = arguments[0]; - if (js.JSValueIsString(ctx, value)) { - var out = ZigString.Empty; - JSValue.toZigString(JSValue.fromRef(value), &out, ctx.ptr()); - var out_slice = out.slice(); + if (JSC.JSValue.c(value).isString()) { + const out = JSC.JSValue.c(value).toSlice(ctx, bun.default_allocator); + defer out.deinit(); // The dots are kind of unnecessary. They'll be normalized. - if (out.len == 0 or @ptrToInt(out.ptr) == 0 or std.mem.eql(u8, out_slice, ".") or std.mem.eql(u8, out_slice, "..") or std.mem.eql(u8, out_slice, "../")) { + if (out.len == 0 or std.mem.eql(u8, out.slice(), "..") or std.mem.eql(u8, out.slice(), "../")) { JSError(getAllocator(ctx), "Expected a file path as a string or an array of strings to be part of a file path.", .{}, ctx, exception); return null; } - var parts = [_]string{out_slice}; + var parts = [_]string{out.slice()}; // This does the equivalent of Node's path.normalize(path.join(cwd, out_slice)) var res = VirtualMachine.get().bundler.fs.absBuf(&parts, buf); @@ -522,8 +521,15 @@ pub fn getFilePath(ctx: js.JSContextRef, arguments: []const js.JSValueRef, buf: return null; } - var out = ZigString.Empty; - JSValue.toZigString(item, &out, ctx.ptr()); + const out = JSC.JSValue.c(value).toSlice(ctx, bun.default_allocator); + defer out.deinit(); + + // The dots are kind of unnecessary. They'll be normalized. + if (out.len == 0 or std.mem.eql(u8, out.slice(), "..") or std.mem.eql(u8, out.slice(), "../")) { + JSError(getAllocator(ctx), "Expected a file path as a string or an array of strings to be part of a file path.", .{}, ctx, exception); + return null; + } + const out_slice = out.slice(); temp_strings_list[temp_strings_list_len] = out_slice; @@ -2632,7 +2638,7 @@ pub const Unsafe = struct { switch (array_buffer.typed_array_type) { .Uint16Array, .Int16Array => { var zig_str = ZigString.init(""); - zig_str.ptr = @ptrCast([*]const u8, @alignCast(@alignOf([*]align(1) const u16), array_buffer.ptr)); + zig_str._unsafe_ptr_do_not_use = @ptrCast([*]const u8, @alignCast(@alignOf([*]align(1) const u16), array_buffer.ptr)); zig_str.len = array_buffer.len; zig_str.markUTF16(); // the deinitializer for string causes segfaults -- cgit v1.2.3 ow-native Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/docs/api/utils.md (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-07-30Update install.md (#3890)Gravatar Tiramify (A.K. Daniel) 1-1/+1
2023-07-30Fix issue with file loader (#3889)Gravatar Jarred Sumner 5-6/+34
2023-07-30Fixes #3884Gravatar Jarred Sumner 2-42/+7
2023-07-30BumpGravatar Jarred Sumner 1-1/+1
2023-07-30remove unnecessary moveGravatar Jarred Sumner 1-1/+1
2023-07-30Fix memory leak (#3887)Gravatar Jarred Sumner 10-87/+191
2023-07-30Fix coredump when reading an empty file(`node:stream:createReadStream`) (#3882)Gravatar Ai Hoshino 2-0/+30
2023-07-30Improv. (#3885)Gravatar Tiramify (A.K. Daniel) 3-37/+38
2023-07-29Make `bun:jsc` memoryUsage more accurate (#3876)Gravatar Jarred Sumner 6-68/+61
2023-07-29docs: fixed small errors (#3879)Gravatar 0xflotus 4-4/+4
2023-07-29fix: small error (#3878)Gravatar 0xflotus 1-1/+1
2023-07-29typo spawn.md (#3875)Gravatar Jhorman Tito 1-1/+1
2023-07-28Update nodejs-apis.mdGravatar Jarred Sumner 1-4/+4
2023-07-28Update nodejs-apis.mdGravatar Jarred Sumner 1-5/+5
2023-07-28Defer task destructionbun-v0.7.1Gravatar Jarred Sumner 1-1/+17
2023-07-28Stat largefile test (#3870)Gravatar Jarred Sumner 1-0/+22
2023-07-28Ignore when printing to stdout errors (#3869)Gravatar Jarred Sumner 1-2/+4
2023-07-28Fix bug with `/path/to/absolute/bun.lockb`Gravatar Jarred Sumner 1-10/+13
2023-07-28markBindingGravatar Dylan Conway 1-0/+1
2023-07-28optional parameterGravatar Dylan Conway 1-3/+3
2023-07-28Fixes #3868Gravatar Jarred Sumner 1-2/+3
2023-07-28Fix assertion failure and possible infinite loop when printing as yarn lock f...Gravatar Jarred Sumner 2-3/+16
2023-07-28Mark broken test as todoGravatar Jarred Sumner 2-1/+5
2023-07-28fix types and add message channel/port gc testGravatar Dylan Conway 2-62/+18
2023-07-28`MessageChannel` and `MessagePort` (#3860)Gravatar Dylan Conway 57-247/+3752
2023-07-28mark tests as todoGravatar Jarred Sumner 2-81/+75
2023-07-28add fork to child_process (#3851)Gravatar Vlad Sirenko 7-19/+446
2023-07-28feat(bun/test): Impl. expect().pass() & expect().fail() (#3843)Gravatar Tiramify (A.K. Daniel) 6-5/+212
2023-07-28fix the chunk boundary (`node:stream:createReadStream`) (#3853)Gravatar Ai Hoshino 3-8/+90
2023-07-28Support file: URLs in `fetch` (#3858)Gravatar Jarred Sumner 6-183/+281
2023-07-28fix(tls) exposes native canonicalizeIP and fix rootCertificates (#3866)Gravatar Ciro Spaciari 7-29/+125
2023-07-28Fixes #3795 (#3856)Gravatar Jarred Sumner 11-6/+140
2023-07-28Add todoGravatar Jarred Sumner 2-0/+8
2023-07-28Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-28Update pull_request_template.mdGravatar Jarred Sumner 1-11/+16
2023-07-27Fix bug with // @bun annotation in main thread (#3855)Gravatar Jarred Sumner 4-2/+53
2023-07-27Add `Bun.isMainThread`Gravatar Jarred Sumner 7-3/+48
2023-07-27Uncomment testGravatar Jarred Sumner 1-1/+1
2023-07-27Resolve watch directories outside main thread + async iterator and symlink fi...Gravatar Ciro Spaciari 8-197/+523
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-1/+1
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-2/+2
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-0/+4
2023-07-27Update pull_request_template.mdGravatar Jarred Sumner 1-5/+11