aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/node
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-05-31 19:17:01 -0700
committerGravatar GitHub <noreply@github.com> 2023-05-31 19:17:01 -0700
commitcb0f76aa73f6b85667b57015a77ac39d9c78aa0b (patch)
tree949bcc466b3afbbb69a070d35d2b814f0e66be40 /src/bun.js/node
parent79d7b2075e63f79ec6d1d2a904178969eb701f0b (diff)
parent110d0752f333e4c32c9226e4a94e93f18837f9c7 (diff)
downloadbun-cb0f76aa73f6b85667b57015a77ac39d9c78aa0b.tar.gz
bun-cb0f76aa73f6b85667b57015a77ac39d9c78aa0b.tar.zst
bun-cb0f76aa73f6b85667b57015a77ac39d9c78aa0b.zip
Merge branch 'main' into jarred/port
Diffstat (limited to 'src/bun.js/node')
-rw-r--r--src/bun.js/node/types.zig18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig
index bbe2ea654..f090b3a12 100644
--- a/src/bun.js/node/types.zig
+++ b/src/bun.js/node/types.zig
@@ -1775,17 +1775,19 @@ pub const Path = struct {
var path_slice: JSC.ZigString.Slice = args_ptr[0].toSlice(globalThis, heap_allocator);
defer path_slice.deinit();
var path = path_slice.slice();
- var path_name = Fs.PathName.init(path);
- var root = JSC.ZigString.init(path_name.dir);
- const is_absolute = (isWindows and isZigStringAbsoluteWindows(root)) or (!isWindows and path_name.dir.len > 0 and path_name.dir[0] == '/');
-
+ var path_name = Fs.NodeJSPathName.init(path);
var dir = JSC.ZigString.init(path_name.dir);
+ const is_absolute = (isWindows and isZigStringAbsoluteWindows(dir)) or (!isWindows and path.len > 0 and path[0] == '/');
+
+ // if its not absolute root must be empty
+ var root = JSC.ZigString.Empty;
if (is_absolute) {
- root = JSC.ZigString.Empty;
- if (path_name.dir.len == 0)
- dir = JSC.ZigString.init(if (isWindows) std.fs.path.sep_str_windows else std.fs.path.sep_str_posix);
+ root = JSC.ZigString.init(if (isWindows) std.fs.path.sep_str_windows else std.fs.path.sep_str_posix);
+ // if is absolute and dir is empty, then dir = root
+ if (path_name.dir.len == 0) {
+ dir = root;
+ }
}
-
var base = JSC.ZigString.init(path_name.base);
var name_ = JSC.ZigString.init(path_name.filename);
var ext = JSC.ZigString.init(path_name.ext);