From 812978927b51c656859d713cfab63a56428cdc61 Mon Sep 17 00:00:00 2001 From: StunxFS Date: Sun, 5 Nov 2023 21:10:13 -0400 Subject: [PATCH] refact(c/libc): fix improper use of `&uint8` to represent a C string --- lib/c/src/libc/dirent.ri | 2 +- lib/c/src/libc/mod.ri | 2 +- lib/c/src/libc/stat.ri | 6 +++--- lib/c/src/libc/stdio.ri | 8 ++++---- lib/c/src/libc/stdlib.ri | 20 ++++++++++---------- lib/c/src/libc/unistd.ri | 10 +++++----- lib/core/src/StringBuilder.c.ri | 4 +++- lib/core/src/string.c.ri | 4 +++- 8 files changed, 30 insertions(+), 26 deletions(-) diff --git a/lib/c/src/libc/dirent.ri b/lib/c/src/libc/dirent.ri index 8fedcbd7a..c3a1f736a 100644 --- a/lib/c/src/libc/dirent.ri +++ b/lib/c/src/libc/dirent.ri @@ -11,7 +11,7 @@ public struct dirent { } extern (C) { - public func opendir(d: &uint8) -> ?&dirent; + public func opendir(d: [&]uint8) -> ?&dirent; public func readdir(d: &dirent) -> ?&dirent; public func closedir(d: &dirent) -> int32; } diff --git a/lib/c/src/libc/mod.ri b/lib/c/src/libc/mod.ri index 411777d01..02d7833f2 100644 --- a/lib/c/src/libc/mod.ri +++ b/lib/c/src/libc/mod.ri @@ -3,5 +3,5 @@ // be found in the LICENSE file. extern (C) { - public static environ: [&]&uint8; + public static environ: [&][&]uint8; } diff --git a/lib/c/src/libc/stat.ri b/lib/c/src/libc/stat.ri index 85320bd4d..8ab8ed0e1 100644 --- a/lib/c/src/libc/stat.ri +++ b/lib/c/src/libc/stat.ri @@ -28,8 +28,8 @@ public struct Stat { #endif extern (C) { - public func stat(__file: &uint8, __buf: &mut Stat) -> int32; - public func lstat(file: &uint8, buf: &mut Stat) -> int32; + public func stat(__file: [&]uint8, __buf: &mut Stat) -> int32; + public func lstat(file: [&]uint8, buf: &mut Stat) -> int32; - public func mkdir(path: &uint8, mode: usize) -> int32; + public func mkdir(path: [&]uint8, mode: usize) -> int32; } diff --git a/lib/c/src/libc/stdio.ri b/lib/c/src/libc/stdio.ri index bf9bd79d5..9e6ccc929 100644 --- a/lib/c/src/libc/stdio.ri +++ b/lib/c/src/libc/stdio.ri @@ -92,18 +92,18 @@ public struct FILE; #endif extern (C) { - public func fopen(path: &uint8, mode: &uint8) -> ?&mut FILE; + public func fopen(path: [&]uint8, mode: [&]uint8) -> ?&mut FILE; public func feof(stream: &FILE) -> int32; public func ferror(stream: &FILE) -> int32; public func fseek(stream: &mut FILE, offset: uint64, whence: int32) -> int32; public func ftell(stream: &mut FILE) -> int64; public func fread(ptr: rawptr, size: usize, nitems: usize, stream: &mut FILE) -> usize; public func fputc(c: int32, stream: &mut FILE) -> int32; - public func fputs(s: &uint8, stream: &mut FILE) -> int32; - public func fprintf(stream: &mut FILE, fmt: &uint8, ...) -> int32; + public func fputs(s: [&]uint8, stream: &mut FILE) -> int32; + public func fprintf(stream: &mut FILE, fmt: [&]uint8, ...) -> int32; public func fwrite(ptr: rawptr, size: usize, nobj: usize, stream: &mut FILE) -> usize; public func fflush(stream: &mut FILE) -> int32; - public func fgets(s: &mut uint8, n: usize, stream: &mut FILE) -> int32; + public func fgets(s: [&]mut uint8, n: usize, stream: &mut FILE) -> int32; public func fclose(stream: &mut FILE) -> int32; public func fileno(stream: &FILE) -> int32; public func rewind(stream: &mut FILE); diff --git a/lib/c/src/libc/stdlib.ri b/lib/c/src/libc/stdlib.ri index a53e1591e..f8ebe80f3 100644 --- a/lib/c/src/libc/stdlib.ri +++ b/lib/c/src/libc/stdlib.ri @@ -14,17 +14,17 @@ extern (C) { public func rand() -> int32; public func srand(seed: uint32); - public func atof(nptr: ?&uint8) -> float64; - public func atoi(nptr: ?&uint8) -> int32; - public func atol(nptr: ?&uint8) -> int64; - public func atoll(nptr: ?&uint8) -> int64; + public func atof(nptr: ?[&]uint8) -> float64; + public func atoi(nptr: ?[&]uint8) -> int32; + public func atol(nptr: ?[&]uint8) -> int64; + public func atoll(nptr: ?[&]uint8) -> int64; - public func strtod(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> float64; - public func strtof(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> float32; - public func strtol(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> int64; - public func strtoll(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> int64; - public func strtoul(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> uint64; - public func strtoull(nptr: [&]uint8, endptr: ?&uint8, base_: int32) -> uint64; + public func strtod(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> float64; + public func strtof(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> float32; + public func strtol(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> int64; + public func strtoll(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> int64; + public func strtoul(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> uint64; + public func strtoull(nptr: [&]uint8, endptr: ?[&]uint8, base: int32) -> uint64; public func malloc(size: usize) -> ?rawptr; public func calloc(nobj: usize, size: usize) -> ?rawptr; diff --git a/lib/c/src/libc/unistd.ri b/lib/c/src/libc/unistd.ri index 4f76a1020..2e017ea0b 100644 --- a/lib/c/src/libc/unistd.ri +++ b/lib/c/src/libc/unistd.ri @@ -3,7 +3,7 @@ // be found in the LICENSE file. extern (C) { - public func access(a: &uint8, o: int32) -> int32; + public func access(a: [&]uint8, o: int32) -> int32; public func sysconf(name: int32) -> int64; @@ -15,11 +15,11 @@ extern (C) { public func write(fd: int32, buf: rawptr, count: usize) -> isize; public func read(fildes: int32, buf: rawptr, nbyte: usize) -> isize; - public func rmdir(path: &uint8) -> int32; - public func chdir(path: &uint8) -> int32; - public func getcwd(buf: &uint8, size: usize) -> ?&uint8; + public func rmdir(path: [&]uint8) -> int32; + public func chdir(path: [&]uint8) -> int32; + public func getcwd(buf: [&]uint8, size: usize) -> ?[&]uint8; - public func readlink(path: &uint8, buf: &uint8, size: usize) -> isize; + public func readlink(path: [&]uint8, buf: [&]uint8, size: usize) -> isize; #if _LINUX_ public func get_nprocs() -> int32; diff --git a/lib/core/src/StringBuilder.c.ri b/lib/core/src/StringBuilder.c.ri index c743da11b..f4142ca7b 100644 --- a/lib/core/src/StringBuilder.c.ri +++ b/lib/core/src/StringBuilder.c.ri @@ -20,7 +20,9 @@ public struct StringBuilder < Stringable { Self.new() } else { Self(unsafe { - Vector.from_array(@as(&mut uint8, s.ptr), @size_of(uint8), s.len) + Vector.from_array( + @as(&mut uint8, s.ptr), @size_of(uint8), s.len + ) }) }; } diff --git a/lib/core/src/string.c.ri b/lib/core/src/string.c.ri index f3f609b23..da07110f0 100644 --- a/lib/core/src/string.c.ri +++ b/lib/core/src/string.c.ri @@ -458,7 +458,9 @@ public struct string < Stringable, Hashable, Throwable { #[inline] public func as_bytes(self) -> []uint8 { return unsafe { - Vector.from_array_no_alloc(@as(&mut uint8, self.ptr), @size_of(uint8), self.len) + Vector.from_array_no_alloc( + @as(&mut uint8, self.ptr), @size_of(uint8), self.len + ) }; }