diff --git a/bash-5.1/builtins_rust/echo/src/lib.rs b/bash-5.1/builtins_rust/echo/src/lib.rs index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7794985b7e2c8ea86233f8c64968da3a62e056a2 100644 --- a/bash-5.1/builtins_rust/echo/src/lib.rs +++ b/bash-5.1/builtins_rust/echo/src/lib.rs @@ -0,0 +1,34 @@ +extern crate libc; + +use libc::{c_char,c_int, strchr, putchar,clearerr,free,FILE, fprintf, c_void}; +use std::ffi::{CString,CStr,}; +use rcommon::{WordList, WordDesc, EX_USAGE, EXECUTION_SUCCESS, EXECUTION_FAILURE}; +// use std::io::{stdout, Write}; +use std::ptr::read_volatile; +use rhelp::r_builtin_help; + +//结构体 + +//枚举 + +//宏 +#[macro_export] +macro_rules! VALID_ECHO_OPTIONS { + () => { + CString::new("neE").unwrap().as_ptr() + }; +} + + +#[macro_export] +macro_rules! QUIT { + () => { + if read_volatile(&terminating_signal as *const i32) != 0{ + termsig_handler(read_volatile(&terminating_signal as *const i32)); + } + if interrupt_state != 0{ + throw_to_top_level(); + } + }; +} +