Skip to content

Commit

Permalink
Add fnmatch.h
Browse files Browse the repository at this point in the history
Add fnmatch() function and FNM_* constants.

Signed-off-by: Manos Pitsidianakis <[email protected]>
  • Loading branch information
epilys committed Sep 20, 2024
1 parent a6386af commit bbbeea4
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
12 changes: 12 additions & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ fn test_apple(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"glob.h",
"grp.h",
Expand Down Expand Up @@ -454,6 +455,7 @@ fn test_openbsd(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"libgen.h",
"limits.h",
Expand Down Expand Up @@ -731,6 +733,7 @@ fn test_redox(target: &str) {
"dlfcn.h",
"errno.h",
"fcntl.h",
"fnmatch.h",
"grp.h",
"limits.h",
"locale.h",
Expand Down Expand Up @@ -790,6 +793,7 @@ fn test_solarish(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"glob.h",
"grp.h",
Expand Down Expand Up @@ -1030,6 +1034,7 @@ fn test_netbsd(target: &str) {
"elf.h",
"errno.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"libgen.h",
"limits.h",
Expand Down Expand Up @@ -1244,6 +1249,7 @@ fn test_dragonflybsd(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"glob.h",
"grp.h",
Expand Down Expand Up @@ -1464,6 +1470,7 @@ fn test_wasi(target: &str) {
"dirent.h",
"errno.h",
"fcntl.h",
"fnmatch.h",
"langinfo.h",
"limits.h",
"locale.h",
Expand Down Expand Up @@ -1579,6 +1586,7 @@ fn test_android(target: &str) {
"elf.h",
"errno.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"grp.h",
"ifaddrs.h",
Expand Down Expand Up @@ -2087,6 +2095,7 @@ fn test_freebsd(target: &str) {
"errno.h",
"execinfo.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"glob.h",
"grp.h",
Expand Down Expand Up @@ -2706,6 +2715,7 @@ fn test_emscripten(target: &str) {
"dlfcn.h",
"errno.h",
"fcntl.h",
"fnmatch.h",
"glob.h",
"grp.h",
"ifaddrs.h",
Expand Down Expand Up @@ -2974,6 +2984,7 @@ fn test_neutrino(target: &str) {
"dlfcn.h",
"sys/elf.h",
"fcntl.h",
"fnmatch.h",
"glob.h",
"grp.h",
"iconv.h",
Expand Down Expand Up @@ -3368,6 +3379,7 @@ fn test_linux(target: &str) {
"dlfcn.h",
"elf.h",
"fcntl.h",
"fnmatch.h",
"getopt.h",
"glob.h",
[gnu]: "gnu/libc-version.h",
Expand Down
19 changes: 19 additions & 0 deletions src/unix/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,21 @@ pub const ATF_PERM: ::c_int = 0x04;
pub const ATF_PUBL: ::c_int = 0x08;
pub const ATF_USETRAILERS: ::c_int = 0x10;

pub const FNM_PERIOD: c_int = 1 << 2;
pub const FNM_CASEFOLD: c_int = 1 << 4;
pub const FNM_NOMATCH: c_int = 1;

cfg_if! {
if #[cfg(any(target_os = "macos"))] {
pub const FNM_PATHNAME: c_int = 1 << 1;
pub const FNM_NOESCAPE: c_int = 1 << 0;

} else {
pub const FNM_PATHNAME: c_int = 1 << 0;
pub const FNM_NOESCAPE: c_int = 1 << 1;
}
}

extern "C" {
pub static in6addr_loopback: in6_addr;
pub static in6addr_any: in6_addr;
Expand Down Expand Up @@ -1570,6 +1585,10 @@ cfg_if! {
}
}

extern "C" {
pub fn fnmatch(pattern: *const c_char, name: *const c_char, flags: c_int) -> c_int;
}

cfg_if! {
if #[cfg(target_env = "newlib")] {
mod newlib;
Expand Down

0 comments on commit bbbeea4

Please sign in to comment.