From 372584cf240b3ef7042cbe90c21322af214b8853 Mon Sep 17 00:00:00 2001 From: liutong Date: Thu, 10 Aug 2023 23:31:44 +0800 Subject: [PATCH] modify command.rs file --- bash-5.1/Cargo.toml | 31 ++++++++++---------- bash-5.1/builtins_rust/alias/Cargo.toml | 1 - bash-5.1/builtins_rust/caller/Cargo.toml | 2 +- bash-5.1/builtins_rust/command/src/lib.rs | 3 +- bash-5.1/builtins_rust/hash/Cargo.toml | 2 +- bash-5.1/builtins_rust/read/Cargo.toml | 2 +- bash-5.1/builtins_rust/read/src/intercdep.rs | 7 +++-- bash-5.1/builtins_rust/read/src/lib.rs | 2 +- bash-5.1/builtins_rust/set/Cargo.toml | 4 ++- bash-5.1/builtins_rust/wait/Cargo.toml | 2 +- record.txt | 1 + 11 files changed, 32 insertions(+), 25 deletions(-) diff --git a/bash-5.1/Cargo.toml b/bash-5.1/Cargo.toml index d98e545..595ff04 100644 --- a/bash-5.1/Cargo.toml +++ b/bash-5.1/Cargo.toml @@ -37,13 +37,12 @@ members=[ "builtins_rust/cmd", "builtins_rust/enable", "builtins_rust/declare", - "builtins_rust/setattr", "builtins_rust/command", "builtins_rust/hash", "builtins_rust/break_1", "builtins_rust/type", "builtins_rust/ulimit", - "builtins_rust/set" + "builtins_rust/set", "builtins_rust/bind", "builtins_rust/echo", "builtins_rust/hash", @@ -61,34 +60,36 @@ members=[ "builtins_rust/times", "builtins_rust/trap", "builtins_rust/setattr", + "builtins_rust/source", ] [dependencies] libc = "0.2" - read = {path = "./builtins_rust/read"} - history = {path = "./builtins_rust/history"} + rread = {path = "./builtins_rust/read"} + rhistory = {path = "./builtins_rust/history"} rkill = {path = "./builtins_rust/kill"} rlet = {path = "./builtins_rust/rlet"} - mapfile = {path = "./builtins_rust/mapfile"} - printf = {path = "./builtins_rust/printf"} + rsource = {path = "./builtins_rust/source"} + rmapfile = {path = "./builtins_rust/mapfile"} + rprintf = {path = "./builtins_rust/printf"} rreturn = {path = "./builtins_rust/rreturn"} - shift = {path = "./builtins_rust/shift"} - times = {path = "./builtins_rust/times"} + rshift = {path = "./builtins_rust/shift"} + rtimes = {path = "./builtins_rust/times"} rsuspend = {path = "./builtins_rust/suspend"} - test = {path = "./builtins_rust/test"} - trap = {path = "./builtins_rust/trap"} - setattr = {path = "./builtins_rust/setattr"} + rtest = {path = "./builtins_rust/test"} + rtrap = {path = "./builtins_rust/trap"} + rsetattr = {path = "./builtins_rust/setattr"} rcolon = {path = "./builtins_rust/colon"} - builtin = {path = "./builtins_rust/builtin"} - alias= {path = "./builtins_rust/alias"} - exit = {path = "./builtins_rust/exit"} + rbuiltin = {path = "./builtins_rust/builtin"} + ralias= {path = "./builtins_rust/alias"} + rexit = {path = "./builtins_rust/exit"} rhelp = {path = "./builtins_rust/help"} rcaller = {path = "./builtins_rust/caller"} reval = {path = "./builtins_rust/eval"} rexec = {path = "./builtins_rust/exec"} rcommon = {path = "./builtins_rust/common"} rcmd = {path = "builtins_rust/cmd"} - enable = {path = "builtins_rust/enable"} + renable = {path = "builtins_rust/enable"} rbreak = {path = "builtins_rust/break_1"} rulimit = {path = "builtins_rust/ulimit"} rtype = {path = "builtins_rust/type"} diff --git a/bash-5.1/builtins_rust/alias/Cargo.toml b/bash-5.1/builtins_rust/alias/Cargo.toml index 9a3049b..9669a4d 100644 --- a/bash-5.1/builtins_rust/alias/Cargo.toml +++ b/bash-5.1/builtins_rust/alias/Cargo.toml @@ -14,4 +14,3 @@ libc = "0.2" rcmd = {path="../cmd"} rcommon= {path="../common"} # nix = "0.23" -rcommon = {path = "../common"} diff --git a/bash-5.1/builtins_rust/caller/Cargo.toml b/bash-5.1/builtins_rust/caller/Cargo.toml index de77b46..ef4d55d 100644 --- a/bash-5.1/builtins_rust/caller/Cargo.toml +++ b/bash-5.1/builtins_rust/caller/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] libc = "0.2" -read = {path="../read"} +rread = {path="../read"} [lib] crate-type = ["staticlib","lib"] diff --git a/bash-5.1/builtins_rust/command/src/lib.rs b/bash-5.1/builtins_rust/command/src/lib.rs index 25a3572..17b09ef 100644 --- a/bash-5.1/builtins_rust/command/src/lib.rs +++ b/bash-5.1/builtins_rust/command/src/lib.rs @@ -262,7 +262,8 @@ pub const CDESC_STDPATH: i32 = 0x100; pub const EX_USAGE :i32= 258; pub const EXECUTION_SUCCESS:i32 = 0; pub const EXECUTION_FAILURE:i32 = 1; -pub const const_command_builtin: &CStr = CStr::from_bytes_with_nul(b"command_builtin\0").unwrap(); + +pub const const_command_builtin:&CStr =unsafe{ CStr::from_bytes_with_nul_unchecked(b"command_builtin\0")};//.unwrap(); //#define COMMAND_BUILTIN_FLAGS (CMD_NO_FUNCTIONS | CMD_INHIBIT_EXPANSION | CMD_COMMAND_BUILTIN | (use_standard_path ? CMD_STDPATH : 0)) //#define CMD_WANT_SUBSHELL 0x01 /* User wants a subshell: ( command ) */ //#define CMD_FORCE_SUBSHELL 0x02 /* Shell needs to force a subshell. */ diff --git a/bash-5.1/builtins_rust/hash/Cargo.toml b/bash-5.1/builtins_rust/hash/Cargo.toml index 78c9205..4c1bd09 100644 --- a/bash-5.1/builtins_rust/hash/Cargo.toml +++ b/bash-5.1/builtins_rust/hash/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] libc = "0.2" -read = {path = "../read"} +rread = {path = "../read"} rcommon = {path = "../common"} [lib] diff --git a/bash-5.1/builtins_rust/read/Cargo.toml b/bash-5.1/builtins_rust/read/Cargo.toml index a180309..ca0e990 100644 --- a/bash-5.1/builtins_rust/read/Cargo.toml +++ b/bash-5.1/builtins_rust/read/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "read" +name = "rread" version = "0.1.0" edition = "2018" authors = ["lvgenggeng"] diff --git a/bash-5.1/builtins_rust/read/src/intercdep.rs b/bash-5.1/builtins_rust/read/src/intercdep.rs index 827ae19..231a6d9 100644 --- a/bash-5.1/builtins_rust/read/src/intercdep.rs +++ b/bash-5.1/builtins_rust/read/src/intercdep.rs @@ -15,7 +15,9 @@ pub struct word_list { } pub type WORD_LIST = word_list; -// pub type SHELL_VAR = variable; +use rcommon::{r_builtin_usage,r_sh_invalidid,r_builtin_bind_variable}; +//use rcommon::{r_builtin_usage,r_sh_invalidid,r_builtin_bind_variable,SHELL_VAR}; +pub type SHELL_VAR = rcommon::SHELL_VAR; pub type __intmax_t = c_long; pub type intmax_t = __intmax_t; @@ -98,7 +100,8 @@ pub const CTLNUL: c_char = b'\x4f' as c_char; pub const __S_IFMT: u32 = 0o0170000; pub const __S_IFREG: u32 = 0o0100000; -extern "C" { +extern "C" { + pub fn reset_internal_getopt(); pub fn internal_getopt( diff --git a/bash-5.1/builtins_rust/read/src/lib.rs b/bash-5.1/builtins_rust/read/src/lib.rs index 702836b..7a7c390 100644 --- a/bash-5.1/builtins_rust/read/src/lib.rs +++ b/bash-5.1/builtins_rust/read/src/lib.rs @@ -1,7 +1,7 @@ use libc::{c_int, c_char, c_long, c_ulong, c_uint, size_t, c_void, PT_NULL, ssize_t}; use nix::errno::errno; use std::{ffi::{CString, CStr}, ptr::null_mut}; -use rcommon::{r_builtin_usage,r_sh_invalidid,r_builtin_bind_variable,SHELL_VAR}; +//use rcommon::{r_builtin_usage,r_sh_invalidid,r_builtin_bind_variable,SHELL_VAR}; include!(concat!("intercdep.rs")); diff --git a/bash-5.1/builtins_rust/set/Cargo.toml b/bash-5.1/builtins_rust/set/Cargo.toml index ece27d8..0a60e09 100644 --- a/bash-5.1/builtins_rust/set/Cargo.toml +++ b/bash-5.1/builtins_rust/set/Cargo.toml @@ -1,4 +1,5 @@ -name = "set" +[package] +name = "rset" version = "0.1.0" edition = "2018" @@ -6,6 +7,7 @@ edition = "2018" [dependencies] libc="*" +nix="*" lazy_static = "1.4.0" [lib] diff --git a/bash-5.1/builtins_rust/wait/Cargo.toml b/bash-5.1/builtins_rust/wait/Cargo.toml index b4c5995..f0dad29 100644 --- a/bash-5.1/builtins_rust/wait/Cargo.toml +++ b/bash-5.1/builtins_rust/wait/Cargo.toml @@ -10,7 +10,7 @@ edition = "2018" libc = "0.2" nix = "0.23.0" rjobs = {path = "../jobs"} -read = {path = "../read"} +rread = {path = "../read"} rcommon = {path = "../common"} diff --git a/record.txt b/record.txt index 0a00b9c..5c5b86f 100644 --- a/record.txt +++ b/record.txt @@ -41,3 +41,4 @@ 40 41 42 +43 -- Gitee