mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-15 06:43:42 +00:00
22 lines
509 B
Odin
22 lines
509 B
Odin
#+private
|
|
#+build openbsd
|
|
package os
|
|
|
|
import "base:runtime"
|
|
|
|
import "core:sys/posix"
|
|
|
|
_posix_absolute_path :: proc(fd: posix.FD, name: string, allocator: runtime.Allocator) -> (path: cstring, err: Error) {
|
|
temp_allocator := TEMP_ALLOCATOR_GUARD({ allocator })
|
|
cname := clone_to_cstring(name, temp_allocator) or_return
|
|
|
|
buf: [posix.PATH_MAX]byte
|
|
path = posix.realpath(cname, raw_data(buf[:]))
|
|
if path == nil {
|
|
err = _get_platform_error()
|
|
return
|
|
}
|
|
|
|
return clone_to_cstring(string(path), allocator)
|
|
}
|