Use multi-pointers when appropriate

This commit is contained in:
gingerBill
2021-08-22 12:54:04 +01:00
parent 8694a0f68a
commit 445ed9be2b
4 changed files with 12 additions and 16 deletions
+3 -4
View File
@@ -135,16 +135,15 @@ ptr_sub :: proc(a, b: $P/^$T) -> int {
}
slice_ptr :: proc(ptr: ^$T, len: int) -> []T {
assert(len >= 0);
return transmute([]T)Raw_Slice{data = ptr, len = len};
return ([^]T)(ptr)[:len];
}
byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte {
return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)};
return ([^]u8)(data)[:max(len, 0)];
}
@(deprecated="use byte_slice")
slice_ptr_to_bytes :: proc(data: rawptr, len: int) -> []byte {
return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)};
return ([^]u8)(data)[:max(len, 0)];
}