From 2062f4a9b61868379b0aa5065f3449b0ff7f221d Mon Sep 17 00:00:00 2001 From: wangmengc Date: Fri, 24 May 2024 13:51:15 +0800 Subject: [PATCH] add expband and expbxor function --- utshell-0.5/r_expr/src/lib.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/utshell-0.5/r_expr/src/lib.rs b/utshell-0.5/r_expr/src/lib.rs index c02d2162..ba586c79 100644 --- a/utshell-0.5/r_expr/src/lib.rs +++ b/utshell-0.5/r_expr/src/lib.rs @@ -677,3 +677,32 @@ unsafe extern "C" fn exp5() -> intmax_t { } return val1; } + +#[no_mangle] +unsafe extern "C" fn expband() -> intmax_t { + let mut val1: intmax_t = 0; + let mut val2: intmax_t = 0; + val1 = exp5(); + while curtok == '&' as i32 { + readtok(); + val2 = exp5(); + val1 = val1 & val2; + lasttok = NUM as libc::c_int; + } + return val1; +} + +#[no_mangle] +unsafe extern "C" fn expbxor() -> intmax_t { + let mut val1: intmax_t = 0; + let mut val2: intmax_t = 0; + val1 = expband(); + while curtok == '^' as i32 { + readtok(); + val2 = expband(); + val1 = val1 ^ val2; + lasttok = NUM as libc::c_int; + } + return val1; +} + -- Gitee