diff options
author | 2023-02-15 03:18:54 -0800 | |
---|---|---|
committer | 2023-02-15 03:18:54 -0800 | |
commit | ad0bee532c9748c944562b5ade76021138eb4fa7 (patch) | |
tree | 2c87f3944b95c1702221a2a67d9a59ab208cfaa5 /src | |
parent | c7d16d2ed51afd12581ac4a60435ad202d01a8d9 (diff) | |
download | bun-ad0bee532c9748c944562b5ade76021138eb4fa7.tar.gz bun-ad0bee532c9748c944562b5ade76021138eb4fa7.tar.zst bun-ad0bee532c9748c944562b5ade76021138eb4fa7.zip |
Fix cast
Diffstat (limited to 'src')
-rw-r--r-- | src/napi/napi.zig | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/napi/napi.zig b/src/napi/napi.zig index ba5040ca8..79ead95f5 100644 --- a/src/napi/napi.zig +++ b/src/napi/napi.zig @@ -247,27 +247,29 @@ pub export fn napi_create_int64(_: napi_env, value: i64, result: *napi_value) na return .ok; } pub export fn napi_create_string_latin1(env: napi_env, str: [*]const u8, length: usize, result: *napi_value) napi_status { - var len = length; - if (NAPI_AUTO_LENGTH == length) { - len = bun.len(@ptrCast([*:0]const u8, str)); - } - result.* = JSC.ZigString.init(str[0..len]).toValueGC(env); + const slice = if (NAPI_AUTO_LENGTH == length) + bun.sliceTo(@ptrCast([*:0]const u8, str), 0) + else + str[0..length]; + + result.* = JSC.ZigString.init(slice).toValueGC(env); return .ok; } pub export fn napi_create_string_utf8(env: napi_env, str: [*]const u8, length: usize, result: *napi_value) napi_status { - var len = length; - if (NAPI_AUTO_LENGTH == length) { - len = bun.len(@ptrCast([*:0]const u8, str)); - } - result.* = JSC.ZigString.init(str[0..len]).withEncoding().toValueGC(env); + const slice = if (NAPI_AUTO_LENGTH == length) + bun.sliceTo(@ptrCast([*:0]const u8, str), 0) + else + str[0..length]; + result.* = JSC.ZigString.init(slice).withEncoding().toValueGC(env); return .ok; } pub export fn napi_create_string_utf16(env: napi_env, str: [*]const char16_t, length: usize, result: *napi_value) napi_status { - var len = length; - if (NAPI_AUTO_LENGTH == length) { - len = bun.len(@ptrCast([*:0]const char16_t, str)); - } - result.* = JSC.ZigString.from16(str, len).toValueGC(env); + const slice = if (NAPI_AUTO_LENGTH == length) + bun.sliceTo(@ptrCast([*:0]const char16_t, str), 0) + else + str[0..length]; + + result.* = JSC.ZigString.from16(slice.ptr, length).toValueGC(env); return .ok; } pub extern fn napi_create_symbol(env: napi_env, description: napi_value, result: *napi_value) napi_status; |