diff --git a/bash-5.1/r_execute_cmd/src/lib.rs b/bash-5.1/r_execute_cmd/src/lib.rs index f0837893de9837515006e18ac220ed85911f76a1..2366482639c5a2c7b3f3085cf4573ef6bc5b0c53 100644 --- a/bash-5.1/r_execute_cmd/src/lib.rs +++ b/bash-5.1/r_execute_cmd/src/lib.rs @@ -1967,8 +1967,37 @@ pub unsafe extern "C" fn coproc_checkfd(mut cp: *mut coproc, mut fd: libc::c_int } } +#[no_mangle] +pub unsafe extern "C" fn coproc_fdchk(mut fd: libc::c_int) { + coproc_checkfd(&mut sh_coproc, fd); +} +#[no_mangle] +pub unsafe extern "C" fn coproc_fdclose(mut cp: *mut coproc, mut fd: libc::c_int) { + coproc_rclose(cp, fd); + coproc_wclose(cp, fd); + coproc_setvars(cp); +} +#[no_mangle] +pub unsafe extern "C" fn coproc_fdsave(mut cp: *mut coproc) { + (*cp).c_rsave = (*cp).c_rfd; + (*cp).c_wsave = (*cp).c_wfd; +} + +#[no_mangle] +pub unsafe extern "C" fn coproc_fdrestore(mut cp: *mut coproc) { + (*cp).c_rfd = (*cp).c_rsave; + (*cp).c_wfd = (*cp).c_wsave; +} + +unsafe extern "C" fn coproc_setstatus(mut cp: *mut coproc, mut status: libc::c_int) { + (*cp).c_lock = 4 ; + (*cp).c_status = status; + (*cp).c_flags |= COPROC_DEAD as libc::c_int; + (*cp).c_flags &= !(COPROC_RUNNING as libc::c_int); + (*cp).c_lock = 0 as libc::c_int; +}