Add raw_data to replace cases in which &x[0] was used

This commit is contained in:
gingerBill
2020-06-29 15:58:24 +01:00
parent 56a52a1d06
commit 86448ee044
15 changed files with 129 additions and 38 deletions
+3 -3
View File
@@ -317,7 +317,7 @@ write :: proc(fd: Handle, data: []u8) -> (int, Errno) {
if len(data) == 0 {
return 0, 0;
}
bytes_written := _unix_write(fd, &data[0], len(data));
bytes_written := _unix_write(fd, raw_data(data), len(data));
if(bytes_written == -1) {
return 0, 1;
}
@@ -327,7 +327,7 @@ write :: proc(fd: Handle, data: []u8) -> (int, Errno) {
read :: proc(fd: Handle, data: []u8) -> (int, Errno) {
assert(fd != -1);
bytes_read := _unix_read(fd, &data[0], len(data));
bytes_read := _unix_read(fd, raw_data(data), len(data));
if bytes_read == -1 {
return 0, 1;
}
@@ -406,7 +406,7 @@ get_current_directory :: proc() -> string {
page_size := get_page_size(); // NOTE(tetra): See note in os_linux.odin/get_current_directory.
buf := make([dynamic]u8, page_size);
for {
cwd := _unix_getcwd(cstring(#no_bounds_check &buf[0]), c.size_t(len(buf)));
cwd := _unix_getcwd(cstring(raw_data(buf)), c.size_t(len(buf)));
if cwd != nil {
return string(cwd);
}
+1 -1
View File
@@ -322,7 +322,7 @@ _alloc_command_line_arguments :: proc() -> []string {
buf := make([]byte, int(olen));
n := win32.WideCharToMultiByte(win32.CP_UTF8, 0, wc_str, -1,
&buf[0], olen, nil, nil);
raw_data(buf), olen, nil, nil);
if n > 0 {
n -= 1;
}