Skip to content

Extract std::libc to its own crate #13315

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 6, 2014
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Change how the readdir/opendir hack works
  • Loading branch information
emberian authored and alexcrichton committed Apr 4, 2014
commit 06ad5eb459f1072d79a815210d69af55ef174d20
16 changes: 6 additions & 10 deletions src/liblibc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3695,18 +3695,12 @@ pub mod funcs {
// opendir$INODE64, etc. but for some reason rustc
// doesn't link it correctly on i686, so we're going
// through a C function that mysteriously does work.
pub unsafe fn opendir(dirname: *c_char) -> *DIR {
rust_opendir(dirname)
}
pub unsafe fn readdir_r(dirp: *DIR,
entry: *mut dirent_t,
result: *mut *mut dirent_t) -> c_int {
rust_readdir_r(dirp, entry, result)
}

extern {
fn rust_opendir(dirname: *c_char) -> *DIR;
fn rust_readdir_r(dirp: *DIR, entry: *mut dirent_t,
#[link_name="rust_opendir"]
pub fn opendir(dirname: *c_char) -> *DIR;
#[link_name="rust_readdir_r"]
pub fn readdir_r(dirp: *DIR, entry: *mut dirent_t,
result: *mut *mut dirent_t) -> c_int;
}

Expand Down Expand Up @@ -4321,3 +4315,5 @@ pub mod funcs {
}
}
}

#[test] fn work_on_windows() { } // FIXME #10872 needed for a happy windows