diff --git a/utshell-0.5/r_expr/src/lib.rs b/utshell-0.5/r_expr/src/lib.rs index ee4317752b639743fae0cb5410faa80a3e90205b..a765e44efbd8317463bbeba9f4db0a84868b2970 100644 --- a/utshell-0.5/r_expr/src/lib.rs +++ b/utshell-0.5/r_expr/src/lib.rs @@ -744,4 +744,30 @@ unsafe extern "C" fn expland() -> intmax_t { return val1; } +#[no_mangle] +unsafe extern "C" fn explor() -> intmax_t { + let mut val1: intmax_t = 0; + let mut val2: intmax_t = 0; + let mut set_noeval: libc::c_int = 0; + val1 = expland(); + while curtok == LOR as libc::c_int { + set_noeval = 0 as libc::c_int; + if val1 != 0 as libc::c_int as libc::c_long { + noeval += 1; + set_noeval = 1 as libc::c_int; + } + readtok(); + val2 = expland(); + if set_noeval != 0 { + noeval -= 1; + } + val1 = (val1 != 0 || val2 != 0) as libc::c_int as intmax_t; + lasttok = LOR as libc::c_int; + } + return val1; +} + + + +