From 106f0a02f53d8471b389f303c267b1d8286134b9 Mon Sep 17 00:00:00 2001 From: zhanghuanhuan Date: Mon, 31 Jul 2023 11:13:49 +0800 Subject: [PATCH] Add exteral func name --- bash-5.1/builtins_rust/alias/src/lib.rs | 12 ++++++------ bash-5.1/r_print_cmd/src/lib.rs | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bash-5.1/builtins_rust/alias/src/lib.rs b/bash-5.1/builtins_rust/alias/src/lib.rs index e0eb39f1..4f45bf50 100644 --- a/bash-5.1/builtins_rust/alias/src/lib.rs +++ b/bash-5.1/builtins_rust/alias/src/lib.rs @@ -169,9 +169,9 @@ pub unsafe extern "C" fn r_alias_builtin(mut list: *mut WordList) -> libc::c_int list = (*list).next; } return if any_failed != 0 { - EXECUTION_FAILURE + EXECUTION_FAILURE!() } else { - EXECUTION_SUCCESS + EXECUTION_SUCCESS!() }; } #[no_mangle] @@ -224,9 +224,9 @@ pub unsafe extern "C" fn r_unalias_builtin(mut list: *mut WordList) -> libc::c_i list = (*list).next; } return if aflag != 0 { - 0 as libc::c_int - } else { 1 as libc::c_int + } else { + 0 as libc::c_int }; } unsafe extern "C" fn print_alias(alias: *mut AliasT, flags: libc::c_int) { @@ -274,7 +274,7 @@ unsafe fn legal_alias_rust(name: *mut libc::c_char, value: *mut libc::c_char) -> ) != std::ptr::null_mut() { println!("; is not allow in alias"); - return 0; + return 1; } t = find_alias(name); if !t.is_null() { @@ -283,7 +283,7 @@ unsafe fn legal_alias_rust(name: *mut libc::c_char, value: *mut libc::c_char) -> CStr::from_ptr(name).to_string_lossy().into_owned() ); print_alias(t, dflags); - return 0; + return 1; } name_w = find_user_command(name); new_value = sh_single_quote(value); diff --git a/bash-5.1/r_print_cmd/src/lib.rs b/bash-5.1/r_print_cmd/src/lib.rs index 016fe70e..a13c866b 100644 --- a/bash-5.1/r_print_cmd/src/lib.rs +++ b/bash-5.1/r_print_cmd/src/lib.rs @@ -1608,6 +1608,12 @@ pub unsafe extern "C" fn r_named_function_string(name:*mut c_char, command:*mut } } + dispose_command(cmdcopy); + if (flags & FUNC_EXTERNAL) != 0 + { + result = remove_quoted_escapes(result); + } + return result; } -- Gitee