Sha256: 610f2ba01a1ccab5fc5aefa0238f6fb09c6b32b0cc9ef85d60aefd140229f457

Contents?: true

Size: 542 Bytes

Versions: 12

Compression:

Stored size: 542 Bytes

Contents

use crate::fs::{open_unchecked, OpenOptions};
use crate::rustix::fs::file_path;
use io_lifetimes::AsFilelike;
use rustix::fs::cwd;
use std::{fs, io};

/// Implementation of `reopen`.
pub(crate) fn reopen_impl(file: &fs::File, options: &OpenOptions) -> io::Result<fs::File> {
    if let Some(path) = file_path(file) {
        Ok(open_unchecked(
            &cwd().as_filelike_view::<fs::File>(),
            &path,
            options,
        )?)
    } else {
        Err(io::Error::new(io::ErrorKind::Other, "Couldn't reopen file"))
    }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
wasmtime-11.0.0 ./ext/cargo-vendor/cap-primitives-1.0.15/src/rustix/fs/reopen_impl.rs
wasmtime-10.0.1 ./ext/cargo-vendor/cap-primitives-1.0.15/src/rustix/fs/reopen_impl.rs
wasmtime-10.0.0 ./ext/cargo-vendor/cap-primitives-1.0.15/src/rustix/fs/reopen_impl.rs
wasmtime-9.0.4 ./ext/cargo-vendor/cap-primitives-1.0.15/src/rustix/fs/reopen_impl.rs
wasmtime-9.0.1 ./ext/cargo-vendor/cap-primitives-1.0.15/src/rustix/fs/reopen_impl.rs
wasmtime-8.0.0 ./ext/cargo-vendor/cap-primitives-1.0.14/src/rustix/fs/reopen_impl.rs
wasmtime-7.0.0 ./ext/cargo-vendor/cap-primitives-1.0.9/src/rustix/fs/reopen_impl.rs
wasmtime-6.0.1 ./ext/cargo-vendor/cap-primitives-1.0.5/src/rustix/fs/reopen_impl.rs
wasmtime-6.0.0 ./ext/cargo-vendor/cap-primitives-1.0.5/src/rustix/fs/reopen_impl.rs
wasmtime-5.0.0 ./ext/cargo-vendor/cap-primitives-1.0.4/src/rustix/fs/reopen_impl.rs
wasmtime-0.4.1 ./ext/cargo-vendor/cap-primitives-1.0.3/src/rustix/fs/reopen_impl.rs
wasmtime-0.4.0 ./ext/cargo-vendor/cap-primitives-1.0.2/src/rustix/fs/reopen_impl.rs