remove ctprintf; use fmt.caprintf; fix pipe_linux that I broke.

This commit is contained in:
jason
2024-07-24 10:23:23 -04:00
parent 215b21811e
commit a5fa93e06d
3 changed files with 5 additions and 16 deletions

View File

@@ -3,8 +3,7 @@ package os2
import "base:intrinsics"
import "base:runtime"
import "core:fmt"
import "core:strings"
// Splits pattern by the last wildcard "*", if it exists, and returns the prefix and suffix
// parts which are split by the last "*"
@@ -48,16 +47,6 @@ temp_cstring :: proc(s: string) -> (cstring, runtime.Allocator_Error) {
return clone_to_cstring(s, temp_allocator())
}
@(require_results)
ctprintf :: proc(format: string, args: ..any, newline := false) -> cstring {
str: strings.Builder
strings.builder_init(&str, temp_allocator())
fmt.sbprintf(&str, format, ..args, newline=newline)
strings.write_byte(&str, 0)
s := strings.to_string(str)
return cstring(raw_data(s))
}
@(require_results)
string_from_null_terminated_bytes :: proc(b: []byte) -> (res: string) {
s := string(b)

View File

@@ -10,8 +10,8 @@ _pipe :: proc() -> (r, w: ^File, err: Error) {
return nil, nil,_get_platform_error(errno)
}
r = _new_file(uintptr(fds[0]))
w = _new_file(uintptr(fds[1]))
r = _new_file(uintptr(fds[0])) or_return
w = _new_file(uintptr(fds[1])) or_return
r_impl := (^File_Impl)(r.impl)
r_impl.kind = .Pipe

View File

@@ -330,7 +330,7 @@ _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) {
path_dirs := filepath.split_list(path_env, temp_allocator())
found: bool
for dir in path_dirs {
executable_path = ctprintf("%s/%s", dir, executable_name)
executable_path = fmt.caprintf("%s/%s", dir, executable_name, temp_allocator())
fail: bool
if fail, errno = linux.faccessat(dir_fd, executable_path, linux.F_OK); errno == .NONE && !fail {
found = true
@@ -339,7 +339,7 @@ _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) {
}
if !found {
// check in cwd to match windows behavior
executable_path = ctprintf("./%s", name)
executable_path = fmt.caprintf("./%s", name, temp_allocator())
fail: bool
if fail, errno = linux.faccessat(dir_fd, executable_path, linux.F_OK); errno != .NONE || fail {
return process, .Not_Exist