Skip to content

Commit

Permalink
add dirname and basename
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveLauC committed Oct 23, 2022
1 parent a59c842 commit 741914a
Show file tree
Hide file tree
Showing 16 changed files with 48 additions and 4 deletions.
7 changes: 7 additions & 0 deletions libc-test/build.rs
Expand Up @@ -204,6 +204,7 @@ fn test_apple(target: &str) {
"iconv.h",
"ifaddrs.h",
"langinfo.h",
"libgen.h",
"libproc.h",
"limits.h",
"locale.h",
Expand Down Expand Up @@ -417,6 +418,7 @@ fn test_openbsd(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"libgen.h",
"limits.h",
"link.h",
"locale.h",
Expand Down Expand Up @@ -992,6 +994,7 @@ fn test_netbsd(target: &str) {
"elf.h",
"errno.h",
"fcntl.h",
"libgen.h",
"limits.h",
"link.h",
"locale.h",
Expand Down Expand Up @@ -1206,6 +1209,7 @@ fn test_dragonflybsd(target: &str) {
"ifaddrs.h",
"kvm.h",
"langinfo.h",
"libgen.h",
"limits.h",
"link.h",
"locale.h",
Expand Down Expand Up @@ -1505,6 +1509,7 @@ fn test_android(target: &str) {
"fcntl.h",
"grp.h",
"ifaddrs.h",
"libgen.h",
"limits.h",
"link.h",
"locale.h",
Expand Down Expand Up @@ -1866,6 +1871,7 @@ fn test_freebsd(target: &str) {
"iconv.h",
"ifaddrs.h",
"langinfo.h",
"libgen.h",
"libutil.h",
"limits.h",
"link.h",
Expand Down Expand Up @@ -2771,6 +2777,7 @@ fn test_linux(target: &str) {
"iconv.h",
"ifaddrs.h",
"langinfo.h",
"libgen.h",
"limits.h",
"link.h",
"locale.h",
Expand Down
2 changes: 2 additions & 0 deletions libc-test/semver/android.txt
Expand Up @@ -3548,3 +3548,5 @@ winsize
wmemchr
write
writev
dirname
basename
2 changes: 2 additions & 0 deletions libc-test/semver/apple.txt
Expand Up @@ -2227,3 +2227,5 @@ wait4
waitid
xsw_usage
xucred
dirname
basename
4 changes: 3 additions & 1 deletion libc-test/semver/dragonfly.txt
Expand Up @@ -1536,4 +1536,6 @@ vmspace
wait4
waitid
xucred
eaccess
eaccess
dirname
basename
4 changes: 3 additions & 1 deletion libc-test/semver/freebsd.txt
Expand Up @@ -1925,4 +1925,6 @@ wait4
waitid
xallocx
xucred
eaccess
eaccess
dirname
basename
4 changes: 3 additions & 1 deletion libc-test/semver/linux-gnu.txt
Expand Up @@ -657,4 +657,6 @@ eaccess
asctime_r
ctime_r
strftime
strptime
strptime
dirname
basename
4 changes: 3 additions & 1 deletion libc-test/semver/linux-musl.txt
Expand Up @@ -52,4 +52,6 @@ euidaccess
eaccess
asctime_r
strftime
strptime
strptime
dirname
basename
2 changes: 2 additions & 0 deletions libc-test/semver/netbsd.txt
Expand Up @@ -1515,3 +1515,5 @@ uucred
vm_size_t
wait4
waitid
dirname
basename
2 changes: 2 additions & 0 deletions libc-test/semver/openbsd.txt
Expand Up @@ -1215,3 +1215,5 @@ utmp
utrace
wait4
xucred
dirname
basename
3 changes: 3 additions & 0 deletions src/unix/bsd/apple/mod.rs
Expand Up @@ -5870,6 +5870,9 @@ extern "C" {

pub fn malloc_size(ptr: *const ::c_void) -> ::size_t;
pub fn malloc_good_size(size: ::size_t) -> ::size_t;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
}

pub unsafe fn mach_task_self() -> ::mach_port_t {
Expand Down
3 changes: 3 additions & 0 deletions src/unix/bsd/freebsdlike/dragonfly/mod.rs
Expand Up @@ -1653,6 +1653,9 @@ extern "C" {

pub fn umtx_sleep(ptr: *const ::c_int, value: ::c_int, timeout: ::c_int) -> ::c_int;
pub fn umtx_wakeup(ptr: *const ::c_int, count: ::c_int) -> ::c_int;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
}

#[link(name = "rt")]
Expand Down
3 changes: 3 additions & 0 deletions src/unix/bsd/freebsdlike/freebsd/mod.rs
Expand Up @@ -4357,6 +4357,9 @@ extern "C" {
uaddr: *mut ::c_void,
uaddr2: *mut ::c_void,
) -> ::c_int;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *const ::c_char) -> *mut ::c_char;
}

#[link(name = "kvm")]
Expand Down
3 changes: 3 additions & 0 deletions src/unix/bsd/netbsdlike/mod.rs
Expand Up @@ -738,6 +738,9 @@ extern "C" {
pub fn gethostid() -> ::c_long;
pub fn sethostid(hostid: ::c_long) -> ::c_int;
pub fn ftok(path: *const ::c_char, id: ::c_int) -> ::key_t;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
}

cfg_if! {
Expand Down
3 changes: 3 additions & 0 deletions src/unix/linux_like/android/mod.rs
Expand Up @@ -3227,6 +3227,9 @@ extern "C" {
pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void;

pub fn pthread_getcpuclockid(thread: ::pthread_t, clk_id: *mut ::clockid_t) -> ::c_int;

pub fn dirname(path: *const ::c_char) -> *mut ::c_char;
pub fn basename(path: *const ::c_char) -> *mut ::c_char;
}

cfg_if! {
Expand Down
3 changes: 3 additions & 0 deletions src/unix/linux_like/linux/gnu/mod.rs
Expand Up @@ -1346,6 +1346,9 @@ extern "C" {
tm: *const ::tm,
) -> ::size_t;
pub fn strptime(s: *const ::c_char, format: *const ::c_char, tm: *mut ::tm) -> *mut ::c_char;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
}

extern "C" {
Expand Down
3 changes: 3 additions & 0 deletions src/unix/linux_like/linux/musl/mod.rs
Expand Up @@ -767,6 +767,9 @@ extern "C" {
tm: *const ::tm,
) -> ::size_t;
pub fn strptime(s: *const ::c_char, format: *const ::c_char, tm: *mut ::tm) -> *mut ::c_char;

pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
}

cfg_if! {
Expand Down

0 comments on commit 741914a

Please sign in to comment.