20 lines
547 B
Plaintext
20 lines
547 B
Plaintext
# the bootstrap Init currently exposes only io; macOS provides process-lifetime argv storage.
|
|
@hide:file
|
|
_NSGetArgc c_func() @c_int
|
|
|
|
@hide:file
|
|
_NSGetArgv c_func() @*[*;0]u8
|
|
|
|
argument_count proc() usize {
|
|
return usize(_NSGetArgc()^)
|
|
}
|
|
|
|
#! returns a borrowed, zero-terminated slice; storage lasts for the process lifetime.
|
|
argument proc(index usize) ?[;0]u8 {
|
|
if (index >= argument_count()) return null
|
|
pointer :: _NSGetArgv()^[index]
|
|
length := usize(0)
|
|
while (pointer[length] != 0) length += 1
|
|
return pointer[..length;0]
|
|
}
|