diff --git a/utshell-0.5.0/build.rs b/utshell-0.5.0/build.rs index a9771d334198e335058f1b03d57e0c1fe37d0000..fd9815252a1b9f6fb4b0708b8631aed4898ee00f 100644 --- a/utshell-0.5.0/build.rs +++ b/utshell-0.5.0/build.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ extern crate dunce; use std::{env, path::PathBuf}; diff --git a/utshell-0.5.0/src/alias.rs b/utshell-0.5.0/src/alias.rs index 7874655e0daafbdd012a550e41c8933ac110a93e..3896dd61460c0e13a3a4e0c2ee446e43d3dac596 100644 --- a/utshell-0.5.0/src/alias.rs +++ b/utshell-0.5.0/src/alias.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::hashlib::{ hash_create, hash_dispose, hash_flush, hash_insert, hash_remove, hash_search, }; diff --git a/utshell-0.5.0/src/array.rs b/utshell-0.5.0/src/array.rs index 3bfba5696204907377e929930aba3954ca831fa7..d0d7e69960b7b28811e5f2dacf6d573c9df70e18 100644 --- a/utshell-0.5.0/src/array.rs +++ b/utshell-0.5.0/src/array.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::dispose_cmd::dispose_words; use crate::make_cmd::{make_bare_word, make_word_list}; use crate::src_common::*; diff --git a/utshell-0.5.0/src/arrayfunc.rs b/utshell-0.5.0/src/arrayfunc.rs index 8d14c7c0aaec80de82e387656f55f28aeb8ade39..051eaf1d10d6e2fdb144f61ad8d50c222e5ca17d 100644 --- a/utshell-0.5.0/src/arrayfunc.rs +++ b/utshell-0.5.0/src/arrayfunc.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::array::{ array_create, array_dispose_element, array_flush, array_insert, array_keys_to_word_list, array_reference, array_remove, array_to_assign, array_to_word_list, diff --git a/utshell-0.5.0/src/assoc.rs b/utshell-0.5.0/src/assoc.rs index 74f64a9874b986dca93e1ade2e91ab3dbefb7ff1..72bd8237638d6bdfee5952c948c8b3708ca5b05d 100644 --- a/utshell-0.5.0/src/assoc.rs +++ b/utshell-0.5.0/src/assoc.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::dispose_cmd::dispose_words; use crate::hashlib::{hash_dispose, hash_flush, hash_remove, hash_search}; use crate::make_cmd::{make_bare_word, make_word_list}; diff --git a/utshell-0.5.0/src/bashhist.rs b/utshell-0.5.0/src/bashhist.rs index 4379aba94109ddf3b10164b96b6968fd53792162..928e9bf6a4bc5bc68cf43f52217641005ec396f1 100644 --- a/utshell-0.5.0/src/bashhist.rs +++ b/utshell-0.5.0/src/bashhist.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::bashline::bash_re_edit; use crate::general::file_exists; use crate::pathexp::setup_ignore_patterns; @@ -274,32 +279,8 @@ pub fn maybe_append_history(mut filename: *mut libc::c_char) -> libc::c_int { let mut fd: libc::c_int = 0; let mut result: libc::c_int = 0; let mut histlen: libc::c_int = 0; - let mut buf: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut buf: crate::src_common::stat = crate::src_common::stat_init; + result = EXECUTION_SUCCESS as i32; unsafe { if history_lines_this_session > 0 { diff --git a/utshell-0.5.0/src/bashline.rs b/utshell-0.5.0/src/bashline.rs index 554a5dfc0cefdbbd47e31f3ebca88a45220eab62..3198bf25e90da01832276d91397343525bdb194b 100644 --- a/utshell-0.5.0/src/bashline.rs +++ b/utshell-0.5.0/src/bashline.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::alias::{alias_expand, all_aliases, get_alias_value}; use crate::bashhist::{bash_add_history, pre_process_line}; use crate::bracecomp::bash_brace_completion; @@ -3267,32 +3272,7 @@ fn directory_exists( let mut new_dirname: *mut libc::c_char = 0 as *mut libc::c_char; let mut dirlen: libc::c_int = 0; let mut r: libc::c_int = 0; - let mut sb: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut sb: crate::src_common::stat = crate::src_common::stat_init; unsafe { new_dirname = if should_dequote != 0 { bash_dequote_filename(dirname as *mut libc::c_char, rl_completion_quote_character) diff --git a/utshell-0.5.0/src/bin/utshell.rs b/utshell-0.5.0/src/bin/utshell.rs index 739f677a8cf988a16b7f013a6f9bbb70c3c898d0..b4fa560ff8b0456775b2feacd2e39b6cffd89b63 100644 --- a/utshell-0.5.0/src/bin/utshell.rs +++ b/utshell-0.5.0/src/bin/utshell.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #![allow( dead_code, mutable_transmutes, diff --git a/utshell-0.5.0/src/bin/utshellversion.rs b/utshell-0.5.0/src/bin/utshellversion.rs index 71303495405d9df2889ed7ff4f77b232b102915d..25f20a611a246652201b48d141dbf7db3bca176d 100644 --- a/utshell-0.5.0/src/bin/utshellversion.rs +++ b/utshell-0.5.0/src/bin/utshellversion.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #![allow( dead_code, mutable_transmutes, diff --git a/utshell-0.5.0/src/brace.rs b/utshell-0.5.0/src/brace.rs index b868c60945ba634f8efce96325dd1f075269b0ae..3570397da9b3d66ef1b33482cc10757701edd5fd 100644 --- a/utshell-0.5.0/src/brace.rs +++ b/utshell-0.5.0/src/brace.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::general::legal_number; use crate::sig::{termsig_handler, throw_to_top_level}; use crate::src_common::*; diff --git a/utshell-0.5.0/src/bracecomp.rs b/utshell-0.5.0/src/bracecomp.rs index 0bcb2bea713859c6f242a8ef441c13f12e09e3f5..851a0e64ab70a38b0e8eae38766aca416db1f2bf 100644 --- a/utshell-0.5.0/src/bracecomp.rs +++ b/utshell-0.5.0/src/bracecomp.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; fn string_gcd(mut s1: *mut libc::c_char, mut s2: *mut libc::c_char) -> libc::c_int { diff --git a/utshell-0.5.0/src/builtins/alias.rs b/utshell-0.5.0/src/builtins/alias.rs index 4520433f80ed3eb27b76b049373b4d3350ca6f20..b1bfdf765dcac8d6831ffa6aeb5021b4215de596 100644 --- a/utshell-0.5.0/src/builtins/alias.rs +++ b/utshell-0.5.0/src/builtins/alias.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/bashgetopt.rs b/utshell-0.5.0/src/builtins/bashgetopt.rs index 502f1255558a7d6ca7232397a3dc6541046a62ab..cb2ba0c2720096d9a6b134ebd2c0dad2e7e31d0c 100644 --- a/utshell-0.5.0/src/builtins/bashgetopt.rs +++ b/utshell-0.5.0/src/builtins/bashgetopt.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::general::legal_number; use crate::src_common::*; diff --git a/utshell-0.5.0/src/builtins/bind.rs b/utshell-0.5.0/src/builtins/bind.rs index bc86db29901341c28e2d485e47dca950ff78c457..b2d704abd6f6ded75ef0840a0d6fa52f71218861 100644 --- a/utshell-0.5.0/src/builtins/bind.rs +++ b/utshell-0.5.0/src/builtins/bind.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/break_1.rs b/utshell-0.5.0/src/builtins/break_1.rs index e9ae5fe6fa3c9581d611a9e1e556a8c9e0ac1182..73e8226e2db9559b22359209a5bb96b4656474c7 100644 --- a/utshell-0.5.0/src/builtins/break_1.rs +++ b/utshell-0.5.0/src/builtins/break_1.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/builtin.rs b/utshell-0.5.0/src/builtins/builtin.rs index 13d18aadc205b8d9095628b62a11fba839bbda90..d160d64e4cd136112a5200afdb3877f9626bc411 100644 --- a/utshell-0.5.0/src/builtins/builtin.rs +++ b/utshell-0.5.0/src/builtins/builtin.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/builtins.rs b/utshell-0.5.0/src/builtins/builtins.rs index 35147b938382f02d4c987a5291a5ae8547700253..b1a525b330fe2b33bdafcf4c7c8f8412e44ab74e 100644 --- a/utshell-0.5.0/src/builtins/builtins.rs +++ b/utshell-0.5.0/src/builtins/builtins.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use super::alias::{alias_builtin, unalias_builtin}; diff --git a/utshell-0.5.0/src/builtins/caller.rs b/utshell-0.5.0/src/builtins/caller.rs index 38b4a79656c1a202f5f42b0703ea10b166c84d46..c331b8a537e7552e94175f7d38b8f847cd351ce4 100644 --- a/utshell-0.5.0/src/builtins/caller.rs +++ b/utshell-0.5.0/src/builtins/caller.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/cd.rs b/utshell-0.5.0/src/builtins/cd.rs index 609f52aaa9249b2f2eae51a7937f6eefd8374d8d..45684525696ad4dbf27ec384b5206a8de2c98554 100644 --- a/utshell-0.5.0/src/builtins/cd.rs +++ b/utshell-0.5.0/src/builtins/cd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/cmd.rs b/utshell-0.5.0/src/builtins/cmd.rs index b998610f2045dac48ec07021361912aca6e15dbd..a091fc3940ba998d4d2347d40cc6520e60eeb711 100644 --- a/utshell-0.5.0/src/builtins/cmd.rs +++ b/utshell-0.5.0/src/builtins/cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/colon.rs b/utshell-0.5.0/src/builtins/colon.rs index 145f1bbbf6bc69c80f0207d9e9e0a74f9eee4fce..0e0da77b3e4687a0a16d505e1c218274022846a8 100644 --- a/utshell-0.5.0/src/builtins/colon.rs +++ b/utshell-0.5.0/src/builtins/colon.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/command.rs b/utshell-0.5.0/src/builtins/command.rs index a32dfb90b021eaa628d762277b4f813b83214ad2..4011afac886e6463528663bc5d407b35e3e16041 100644 --- a/utshell-0.5.0/src/builtins/command.rs +++ b/utshell-0.5.0/src/builtins/command.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/common.rs b/utshell-0.5.0/src/builtins/common.rs index 63a5a362c783e6fc2e6e36ef47cdd7cc197b2287..6bf9440ab48642a863c668571d15c544ba7d3600 100644 --- a/utshell-0.5.0/src/builtins/common.rs +++ b/utshell-0.5.0/src/builtins/common.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/complete.rs b/utshell-0.5.0/src/builtins/complete.rs index 2d473be60630b54f6b204084a6d2c32c89208a22..677da0a9750a070d36ecbce7ee511dab0fbcf5bc 100644 --- a/utshell-0.5.0/src/builtins/complete.rs +++ b/utshell-0.5.0/src/builtins/complete.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/declare.rs b/utshell-0.5.0/src/builtins/declare.rs index df94095de46741633638832c97a1e4242ed78025..b293eedfecefd9f9c36b507742af77e7f8fc5024 100644 --- a/utshell-0.5.0/src/builtins/declare.rs +++ b/utshell-0.5.0/src/builtins/declare.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/echo.rs b/utshell-0.5.0/src/builtins/echo.rs index 396ce6f8afa7e0908be34adf6990fba0442fc696..ee63082d593c3384547c5f2b95763af4eb58ad51 100644 --- a/utshell-0.5.0/src/builtins/echo.rs +++ b/utshell-0.5.0/src/builtins/echo.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/enable.rs b/utshell-0.5.0/src/builtins/enable.rs index ced58c78ed68c203503667cff51d76b3d587fa2b..82475c51c10f2749cee7c63fe27f33c395cc390b 100644 --- a/utshell-0.5.0/src/builtins/enable.rs +++ b/utshell-0.5.0/src/builtins/enable.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/eval.rs b/utshell-0.5.0/src/builtins/eval.rs index 6eadc5014f9d558fe7af734b5ae4297fb3ab1124..4ab4cc846c948fa346af9810903ec1dc1568d631 100644 --- a/utshell-0.5.0/src/builtins/eval.rs +++ b/utshell-0.5.0/src/builtins/eval.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/evalfile.rs b/utshell-0.5.0/src/builtins/evalfile.rs index 6d0f38cbc3b5982bf9ace5257dffdc7042a1bce0..23e81aeba574736da68cac3a9613c2f217c90165 100644 --- a/utshell-0.5.0/src/builtins/evalfile.rs +++ b/utshell-0.5.0/src/builtins/evalfile.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use libc::{__errno_location, close, free, malloc, memmove, open, read, strlen}; use crate::array::{array_dispose_element, array_rshift, array_shift}; @@ -35,32 +40,7 @@ fn evalfile(mut filename: *const libc::c_char, mut flags: libc::c_int) -> libc:: let mut nnull: libc::c_int = 0; let mut nr: ssize_t = 0; let mut string: *mut libc::c_char = 0 as *mut libc::c_char; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; let mut file_size: size_t = 0; let mut errfunc: sh_vmsg_func_t = None; let mut funcname_v: *mut SHELL_VAR = 0 as *mut SHELL_VAR; diff --git a/utshell-0.5.0/src/builtins/evalstring.rs b/utshell-0.5.0/src/builtins/evalstring.rs index 3579dca1e5723e3cd4c1fd9c61bd6db55a07964e..0ac9e0f24f54685a29fcd2e127480cccc15e5c87 100644 --- a/utshell-0.5.0/src/builtins/evalstring.rs +++ b/utshell-0.5.0/src/builtins/evalstring.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use libc::{close, free, malloc, open, strcmp, strcpy, strlen}; use crate::bashhist::bash_history_disable; diff --git a/utshell-0.5.0/src/builtins/exec.rs b/utshell-0.5.0/src/builtins/exec.rs index 17ce1dce46dfdbc5522b2d9239c6f3b932aecc7f..175b5397668d5cca75b787581f1721cc6a15b907 100644 --- a/utshell-0.5.0/src/builtins/exec.rs +++ b/utshell-0.5.0/src/builtins/exec.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/exec_cmd.rs b/utshell-0.5.0/src/builtins/exec_cmd.rs index bfbc65fa3e9d7e2a1fe8a5d376de0c0258a2a2b7..7477bcee48f1d47e240dd9e0ef56d29eb85df28c 100644 --- a/utshell-0.5.0/src/builtins/exec_cmd.rs +++ b/utshell-0.5.0/src/builtins/exec_cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/exit.rs b/utshell-0.5.0/src/builtins/exit.rs index 66ef744f42ea8aa36c1b05acb2479ce799a996e0..540a340dd2c555d1698ae1b4ea0222217fb299a8 100644 --- a/utshell-0.5.0/src/builtins/exit.rs +++ b/utshell-0.5.0/src/builtins/exit.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/fc.rs b/utshell-0.5.0/src/builtins/fc.rs index d32fb3b3a9ba6def31ab90bfecc921cfe8c68f97..bf354dfdac8a5adda3234fdbbb2ec7f6872ff9a4 100644 --- a/utshell-0.5.0/src/builtins/fc.rs +++ b/utshell-0.5.0/src/builtins/fc.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/fg_bg.rs b/utshell-0.5.0/src/builtins/fg_bg.rs index 010e78f5e95ea67adb153067672dff193d2c8b27..6607d68a48c4e3eb86e38f38068c9fe9177f5eeb 100644 --- a/utshell-0.5.0/src/builtins/fg_bg.rs +++ b/utshell-0.5.0/src/builtins/fg_bg.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/getopt.rs b/utshell-0.5.0/src/builtins/getopt.rs index 4ca7984241644e8e754fbef2403b1def7897f0e7..2fa2f514a626e70ddb2d929f8a08cb0b4211b57d 100644 --- a/utshell-0.5.0/src/builtins/getopt.rs +++ b/utshell-0.5.0/src/builtins/getopt.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; #[no_mangle] diff --git a/utshell-0.5.0/src/builtins/getopts.rs b/utshell-0.5.0/src/builtins/getopts.rs index 2c16ea9b4fffce9cd50516446b389be620ee0798..0c69d04abf301b1ad9cdd255227c96aca515eb5c 100644 --- a/utshell-0.5.0/src/builtins/getopts.rs +++ b/utshell-0.5.0/src/builtins/getopts.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/hash.rs b/utshell-0.5.0/src/builtins/hash.rs index af8413bb243fa5e6879ce1552a00ef6b30eea9dc..3f48d1317ab8069f4c6ac15e8cd2a36494a7fb8b 100644 --- a/utshell-0.5.0/src/builtins/hash.rs +++ b/utshell-0.5.0/src/builtins/hash.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::alias::all_aliases; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; diff --git a/utshell-0.5.0/src/builtins/help.rs b/utshell-0.5.0/src/builtins/help.rs index 37ae5400b73b2da96ffd6e2339cb8ed0cf0ad94d..88cbf18ac56e2dd8358e3a51da66a681b8201560 100644 --- a/utshell-0.5.0/src/builtins/help.rs +++ b/utshell-0.5.0/src/builtins/help.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::builtins::current_builtin; use crate::builtins::common::{builtin_address_internal, builtin_usage, get_local_str}; diff --git a/utshell-0.5.0/src/builtins/history.rs b/utshell-0.5.0/src/builtins/history.rs index 2c2f35e48405cdd28db0bfb4d5c859d626ec086e..597d9f25a0a390695be97d27f82d6c6fd71dd09c 100644 --- a/utshell-0.5.0/src/builtins/history.rs +++ b/utshell-0.5.0/src/builtins/history.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::bashhist::{bash_clear_history, bash_delete_history_range, maybe_append_history}; use crate::bashhist::{bash_delete_histent, bash_delete_last_history, check_add_history}; diff --git a/utshell-0.5.0/src/builtins/jobs.rs b/utshell-0.5.0/src/builtins/jobs.rs index a2de688b2dccdb65eca45f731064000dd85b7b9f..c341eb08abd7004228348cb4513ef7876335a314 100644 --- a/utshell-0.5.0/src/builtins/jobs.rs +++ b/utshell-0.5.0/src/builtins/jobs.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::common::{builtin_usage, get_job_spec, sh_badjob}; diff --git a/utshell-0.5.0/src/builtins/kill.rs b/utshell-0.5.0/src/builtins/kill.rs index 5686f7af6595390b77bf19085b275dc6ba824400..6b87e5b0b14a6950f2f6d30a67a44b357683fe6a 100644 --- a/utshell-0.5.0/src/builtins/kill.rs +++ b/utshell-0.5.0/src/builtins/kill.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::common::{ builtin_usage, display_signal_list, err_translate_fn, get_job_spec, sh_badjob, sh_badpid, diff --git a/utshell-0.5.0/src/builtins/let_1.rs b/utshell-0.5.0/src/builtins/let_1.rs index 80080150f35150acef4f4a652b3a26e605668be7..ce65ada982b3bdeef3357ac2a4a9226175e7bea7 100644 --- a/utshell-0.5.0/src/builtins/let_1.rs +++ b/utshell-0.5.0/src/builtins/let_1.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::common::err_translate_fn; use crate::expr::evalexp; diff --git a/utshell-0.5.0/src/builtins/mapfile.rs b/utshell-0.5.0/src/builtins/mapfile.rs index c902c3bf00f5a8f1058d36afb64922efc223f102..6c8d465615f1a805c6865704db02d565e96ebff1 100644 --- a/utshell-0.5.0/src/builtins/mapfile.rs +++ b/utshell-0.5.0/src/builtins/mapfile.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::array::array_flush; use crate::arrayfunc::{bind_array_element, find_or_make_array_variable}; diff --git a/utshell-0.5.0/src/builtins/printf.rs b/utshell-0.5.0/src/builtins/printf.rs index e4153fef73e7d347b2945b9345cc7e14b9f9d76b..6970b24246b68992f4d12bf956264220d747ff29 100644 --- a/utshell-0.5.0/src/builtins/printf.rs +++ b/utshell-0.5.0/src/builtins/printf.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::arrayfunc::valid_array_reference; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; diff --git a/utshell-0.5.0/src/builtins/pushd.rs b/utshell-0.5.0/src/builtins/pushd.rs index 39d1461a461789955312f1b62ff73148ed9bb9b2..afb510e92a1ac972b941278c836dbd2b0624a40e 100644 --- a/utshell-0.5.0/src/builtins/pushd.rs +++ b/utshell-0.5.0/src/builtins/pushd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::cd::cd_builtin; use crate::builtins::common::{ diff --git a/utshell-0.5.0/src/builtins/read.rs b/utshell-0.5.0/src/builtins/read.rs index aafc4e0d4c84bb8d7fa7fbab37914b41aea5ef52..d20a64b05e8b03c59604531d75dde44d07c3bc9a 100644 --- a/utshell-0.5.0/src/builtins/read.rs +++ b/utshell-0.5.0/src/builtins/read.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::array::array_flush; use crate::arrayfunc::{ diff --git a/utshell-0.5.0/src/builtins/return_1.rs b/utshell-0.5.0/src/builtins/return_1.rs index fcaaba2f863f9efe543c9199ffb97ae795da8bf5..032498c8833dd6c294ebe34c5af02b345d626209 100644 --- a/utshell-0.5.0/src/builtins/return_1.rs +++ b/utshell-0.5.0/src/builtins/return_1.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::common::get_exitstat; use crate::src_common::*; diff --git a/utshell-0.5.0/src/builtins/set.rs b/utshell-0.5.0/src/builtins/set.rs index 24c269f6d7cf6e38f8ed16db573fd5d43cd1564b..a8b1121bb426c308cc2566e229a112bd3f911410 100644 --- a/utshell-0.5.0/src/builtins/set.rs +++ b/utshell-0.5.0/src/builtins/set.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::arrayfunc::{array_variable_part, unbind_array_element, valid_array_reference}; use crate::bashhist::{bash_history_disable, bash_history_enable, load_history}; diff --git a/utshell-0.5.0/src/builtins/setattr.rs b/utshell-0.5.0/src/builtins/setattr.rs index 30631a8005d59c98da2acb21357616b3758f9ec4..04b9b163c7b718ef043baf9b59d4c4542ce8c193 100644 --- a/utshell-0.5.0/src/builtins/setattr.rs +++ b/utshell-0.5.0/src/builtins/setattr.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::array::array_to_assign; use crate::arrayfunc::print_array_assignment; diff --git a/utshell-0.5.0/src/builtins/shift.rs b/utshell-0.5.0/src/builtins/shift.rs index 9a3ca4f34d567a411ad857692cdefb1f88f5f520..12a786019b4f4e5240fe9cc88d3abf35400fc39a 100644 --- a/utshell-0.5.0/src/builtins/shift.rs +++ b/utshell-0.5.0/src/builtins/shift.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::common::{ builtin_usage, get_numeric_arg, number_of_args, sh_erange, shift_args, }; diff --git a/utshell-0.5.0/src/builtins/shopt.rs b/utshell-0.5.0/src/builtins/shopt.rs index 96aaa633517f85d6c700f8d7c875199ebe511fb6..cc0a0482b14d8552fdcd2bcab4cfb60e2a1eeeac 100644 --- a/utshell-0.5.0/src/builtins/shopt.rs +++ b/utshell-0.5.0/src/builtins/shopt.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::bashline::{enable_hostname_completion, set_directory_hook}; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; diff --git a/utshell-0.5.0/src/builtins/signal.rs b/utshell-0.5.0/src/builtins/signal.rs index 0995d8fdf60b36bea4f3725be05f092aa683e688..b4b0afa5cd573f9981f900de28e984aef13bd8aa 100644 --- a/utshell-0.5.0/src/builtins/signal.rs +++ b/utshell-0.5.0/src/builtins/signal.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ //# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. //# SPDX-License-Identifier: GPL-3.0-or-later diff --git a/utshell-0.5.0/src/builtins/source.rs b/utshell-0.5.0/src/builtins/source.rs index dfeacc67672b1c0642d9bf950353b0b990f1cd30..47f7db31c0be269c435c73f933e719cdb0b67e1a 100644 --- a/utshell-0.5.0/src/builtins/source.rs +++ b/utshell-0.5.0/src/builtins/source.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::common::{ builtin_usage, dollar_vars_changed, no_options, remember_args, set_dollar_vars_unchanged, sh_restricted, diff --git a/utshell-0.5.0/src/builtins/suspend.rs b/utshell-0.5.0/src/builtins/suspend.rs index 5f2641589825b7a66b2052bbf6b4bb93c9032a6a..1f6c724997389d0a6d91b5e68a4426a35a46a038 100644 --- a/utshell-0.5.0/src/builtins/suspend.rs +++ b/utshell-0.5.0/src/builtins/suspend.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::common::{builtin_usage, no_args, sh_nojobs}; diff --git a/utshell-0.5.0/src/builtins/test.rs b/utshell-0.5.0/src/builtins/test.rs index 74ba4c699b7967d16bb45f3092a424babd372ad5..eaa48d91dff68336a35463b276e077fc1c5521c1 100644 --- a/utshell-0.5.0/src/builtins/test.rs +++ b/utshell-0.5.0/src/builtins/test.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::common::make_builtin_argv; use crate::src_common::*; use crate::test::test_command; diff --git a/utshell-0.5.0/src/builtins/times.rs b/utshell-0.5.0/src/builtins/times.rs index de1894ae887c02e4db1ef44b82e3e16ffe322ad2..7c86927b804028f706c8d74c65d878f122c902d8 100644 --- a/utshell-0.5.0/src/builtins/times.rs +++ b/utshell-0.5.0/src/builtins/times.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::common::{no_options, sh_chkwrite}; use crate::src_common::*; diff --git a/utshell-0.5.0/src/builtins/trap.rs b/utshell-0.5.0/src/builtins/trap.rs index 8da27e73473e1b9ca68b26a013227a13be4e9a3d..e7a2b3ce938dc6f56644fc82666abc48ec02d3fa 100644 --- a/utshell-0.5.0/src/builtins/trap.rs +++ b/utshell-0.5.0/src/builtins/trap.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use super::help::builtin_help; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::common::{builtin_usage, display_signal_list, sh_chkwrite, sh_invalidsig}; diff --git a/utshell-0.5.0/src/builtins/type_1.rs b/utshell-0.5.0/src/builtins/type_1.rs index ee1906981ce95fdfdfceea85bddc6864b98562fe..3277be8222ff4d2b8015db6b776f88f2fd751848 100644 --- a/utshell-0.5.0/src/builtins/type_1.rs +++ b/utshell-0.5.0/src/builtins/type_1.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use fluent_bundle::FluentArgs; use fluent_resmgr::resource_manager::ResourceManager; diff --git a/utshell-0.5.0/src/builtins/ulimit.rs b/utshell-0.5.0/src/builtins/ulimit.rs index 3f6384c7559b53276a44690be48779de3fb94e73..d8ef2bf35252a4e0b23081fcc14ea58e8adf77c7 100644 --- a/utshell-0.5.0/src/builtins/ulimit.rs +++ b/utshell-0.5.0/src/builtins/ulimit.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::common::{builtin_usage, sh_chkwrite, sh_erange, sh_invalidnum}; use crate::builtins::help::builtin_help; diff --git a/utshell-0.5.0/src/builtins/umask.rs b/utshell-0.5.0/src/builtins/umask.rs index 635d21ea15c86249b12a075f0ad5f9b18eb763a5..bf80e56d7a751e09df87690eea7ae9a6f45ec1fe 100644 --- a/utshell-0.5.0/src/builtins/umask.rs +++ b/utshell-0.5.0/src/builtins/umask.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; diff --git a/utshell-0.5.0/src/builtins/wait.rs b/utshell-0.5.0/src/builtins/wait.rs index 0d4b720246b5b708d514b643e4e9f8a5fec1b1fd..3acd103d3df2d6f6eae7003152ab577e590b4134 100644 --- a/utshell-0.5.0/src/builtins/wait.rs +++ b/utshell-0.5.0/src/builtins/wait.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::arrayfunc::valid_array_reference; use crate::builtins::bashgetopt::{internal_getopt, reset_internal_getopt}; use crate::builtins::common::{ diff --git a/utshell-0.5.0/src/copycmd.rs b/utshell-0.5.0/src/copycmd.rs index c1d3c06e927e7acc4c9835a4af4da3934e8c9803..0263b726eb47da9e7e12430b2f4264f80589097e 100644 --- a/utshell-0.5.0/src/copycmd.rs +++ b/utshell-0.5.0/src/copycmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::list::list_reverse; use crate::make_cmd::{make_bare_word, make_word_list}; use crate::src_common::*; diff --git a/utshell-0.5.0/src/dispose_cmd.rs b/utshell-0.5.0/src/dispose_cmd.rs index 9778d3377b0265a072af793d9be845d9f4d500d0..36f42f88b9a3cabe09bf73c370e7f0e11bf930cf 100644 --- a/utshell-0.5.0/src/dispose_cmd.rs +++ b/utshell-0.5.0/src/dispose_cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::error::command_error; use crate::src_common::*; diff --git a/utshell-0.5.0/src/error.rs b/utshell-0.5.0/src/error.rs index 49529332543d910b2ee8a960b61e635fef509ccf..c84f596e75451b893881f81e386dfa72b31649cf 100644 --- a/utshell-0.5.0/src/error.rs +++ b/utshell-0.5.0/src/error.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::array::array_reference; use crate::execute_cmd::executing_line_number; use crate::general::base_pathname; diff --git a/utshell-0.5.0/src/eval.rs b/utshell-0.5.0/src/eval.rs index a5f26d8812cd180b7ee7b54e2819eb04e5dd1799..0d22407db76f765173eb0f58cf29ea37e1f0531f 100644 --- a/utshell-0.5.0/src/eval.rs +++ b/utshell-0.5.0/src/eval.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::array::array_to_argv; use crate::builtins::common::get_working_directory; use crate::builtins::exit::bash_logout; diff --git a/utshell-0.5.0/src/execute_cmd.rs b/utshell-0.5.0/src/execute_cmd.rs index 654d13f1729727a8dfc384ca758e543b878eb5e6..428052295bfeef89124cb79cd65113f8d7390a92 100644 --- a/utshell-0.5.0/src/execute_cmd.rs +++ b/utshell-0.5.0/src/execute_cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use crate::alias::delete_all_aliases; diff --git a/utshell-0.5.0/src/expr.rs b/utshell-0.5.0/src/expr.rs index 9ebb636b5a4564266ce0ac1a78dae907cdeea0e4..60bbe06e36401427231f3c37f746b37141498269 100644 --- a/utshell-0.5.0/src/expr.rs +++ b/utshell-0.5.0/src/expr.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::arrayfunc::{array_variable_name, array_variable_part, get_array_value}; use crate::error::err_unboundvar; use crate::general::legal_identifier; diff --git a/utshell-0.5.0/src/findcmd.rs b/utshell-0.5.0/src/findcmd.rs index 763349275a15de186be72fb58bf317a93fb9d55c..6cf8b47f47eb7fe172306f133689410114fcd5b0 100644 --- a/utshell-0.5.0/src/findcmd.rs +++ b/utshell-0.5.0/src/findcmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::general::{absolute_program, bash_tilde_expand, conf_standard_path, extract_colon_unit}; use crate::hashcmd::{phash_insert, phash_remove, phash_search}; use crate::pathexp::setup_ignore_patterns; @@ -46,32 +51,7 @@ fn exec_name_should_ignore(name: *const libc::c_char) -> libc::c_int { #[no_mangle] pub fn file_status(name: *const libc::c_char) -> libc::c_int { - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; let mut r: libc::c_int = 0; unsafe{ if stat(name, &mut finfo) < 0 { @@ -281,32 +261,7 @@ pub fn user_command_matches( let mut path_list: *mut libc::c_char = 0 as *mut libc::c_char; let mut path_element: *mut libc::c_char = 0 as *mut libc::c_char; let mut match_0: *mut libc::c_char = 0 as *mut libc::c_char; - let mut dotinfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut dotinfo: crate::src_common::stat = crate::src_common::stat_init; static mut match_list: *mut *mut libc::c_char = 0 as *const *mut libc::c_char as *mut *mut libc::c_char; static mut match_list_size: libc::c_int = 0 as libc::c_int; @@ -484,32 +439,7 @@ fn find_user_command_in_path( let mut path: *mut libc::c_char = 0 as *mut libc::c_char; let mut path_index: libc::c_int = 0; let mut name_len: libc::c_int = 0; - let mut dotinfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut dotinfo: crate::src_common::stat = crate::src_common::stat_init; unsafe { dot_found_in_search = 0; diff --git a/utshell-0.5.0/src/flags.rs b/utshell-0.5.0/src/flags.rs index 9a41d67c0427e04e96997dd751063257c5a1ec99..c074dafb3cb053321ffc9c624a8f573bd8b7e63f 100644 --- a/utshell-0.5.0/src/flags.rs +++ b/utshell-0.5.0/src/flags.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::bashhist::bash_initialize_history; use crate::jobs::set_job_control; use crate::src_common::*; diff --git a/utshell-0.5.0/src/general.rs b/utshell-0.5.0/src/general.rs index 8263304d7331aebb4784abdfd5a1241e2b97cd50..9bf6281c99fe7cfbb9c0b3989fc45faa12e6098e 100644 --- a/utshell-0.5.0/src/general.rs +++ b/utshell-0.5.0/src/general.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::arrayfunc::{array_variable_name, valid_array_reference}; use crate::builtins::{ pushd::get_dirstack_from_string, @@ -699,58 +704,8 @@ pub fn same_file( mut stp1: *mut crate::src_common::stat, mut stp2: *mut crate::src_common::stat, ) -> libc::c_int { - let mut st1: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; - let mut st2: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut st1: crate::src_common::stat = crate::src_common::stat_init; + let mut st2: crate::src_common::stat = crate::src_common::stat_init; unsafe{ if stp1.is_null() { if stat(path1, &mut st1) != 0 as libc::c_int { @@ -899,64 +854,14 @@ pub fn sh_closepipe(mut pv: *mut libc::c_int) -> libc::c_int { /* **************************************************************** */ #[no_mangle] pub fn file_exists(mut fn_0: *const libc::c_char) -> libc::c_int { - let mut sb: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut sb: crate::src_common::stat = crate::src_common::stat_init; unsafe{ return (stat(fn_0, &mut sb) == 0 as libc::c_int) as libc::c_int;} } #[no_mangle] pub fn file_isdir(mut fn_0: *const libc::c_char) -> libc::c_int { - let mut sb: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut sb: crate::src_common::stat = crate::src_common::stat_init; unsafe{return (stat(fn_0, &mut sb) == 0 && S_ISDIR!(sb.st_mode)) as libc::c_int;} } diff --git a/utshell-0.5.0/src/hashcmd.rs b/utshell-0.5.0/src/hashcmd.rs index b7f3a20e541951cb71b641214c344b4a80dfffcb..db88257291aa3f6f9724b2c864477c49634555a1 100644 --- a/utshell-0.5.0/src/hashcmd.rs +++ b/utshell-0.5.0/src/hashcmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::findcmd::executable_file; use crate::general::same_file; use crate::hashlib::{hash_create, hash_flush, hash_insert, hash_remove, hash_search}; diff --git a/utshell-0.5.0/src/hashlib.rs b/utshell-0.5.0/src/hashlib.rs index d7f570f6d20a3c26b165363cdcbd4425f2b31469..e207d6d170980da2b0e3d331299042e41d13ddc0 100644 --- a/utshell-0.5.0/src/hashlib.rs +++ b/utshell-0.5.0/src/hashlib.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; #[no_mangle] diff --git a/utshell-0.5.0/src/input.rs b/utshell-0.5.0/src/input.rs index b43ecb4f06c612bc563b54c119ac69370ddfe6b2..cb25fd5e9ce65b07856825aca4f7f8f41d4dee04 100644 --- a/utshell-0.5.0/src/input.rs +++ b/utshell-0.5.0/src/input.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::general::sh_unset_nodelay_mode; use crate::src_common::*; use crate::stringlib::xbcopy; @@ -383,32 +388,7 @@ is invalid, return a NULL stream. */ pub fn fd_to_buffered_stream(mut fd: libc::c_int) -> *mut BUFFERED_STREAM { let mut buffer: *mut libc::c_char = 0 as *mut libc::c_char; let mut size: size_t = 0; - let mut sb: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut sb: crate::src_common::stat = crate::src_common::stat_init; unsafe { if crate::src_common::fstat(fd, &mut sb) < 0 as libc::c_int { close(fd); diff --git a/utshell-0.5.0/src/jobs.rs b/utshell-0.5.0/src/jobs.rs index ceba08caaa2366866cdc165b1ed9ec36a888c4ff..d2ebd913c3ab5d6b7aae4d4337aaeb588253451d 100644 --- a/utshell-0.5.0/src/jobs.rs +++ b/utshell-0.5.0/src/jobs.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::builtins::{ common::{get_working_directory, the_current_working_directory}, evalfile::sourcelevel, diff --git a/utshell-0.5.0/src/lib.rs b/utshell-0.5.0/src/lib.rs index ef5e7d80d117055b5d94f684eaacfa39ce3e9f66..3efe91c46af16a839f3af2a3783f929941a3608d 100644 --- a/utshell-0.5.0/src/lib.rs +++ b/utshell-0.5.0/src/lib.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ extern crate lazy_static; #[warn(unused_unsafe)] #[macro_use] diff --git a/utshell-0.5.0/src/list.rs b/utshell-0.5.0/src/list.rs index a6b961b2daed035dcf33fbabe5cc20ae3e2dc722..f70fc695720a6be421da3c14c582497835ae607a 100644 --- a/utshell-0.5.0/src/list.rs +++ b/utshell-0.5.0/src/list.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; #[no_mangle] diff --git a/utshell-0.5.0/src/local.rs b/utshell-0.5.0/src/local.rs index 155fd47467f9c0bafed5bd4a1d88d116bf31f303..7448775772bb06e8963b22486512179d29e1dffb 100644 --- a/utshell-0.5.0/src/local.rs +++ b/utshell-0.5.0/src/local.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common; use crate::src_common::*; use crate::variables::maybe_make_export_env; diff --git a/utshell-0.5.0/src/mailcheck.rs b/utshell-0.5.0/src/mailcheck.rs index d4f2c50e082d05d329d832836e353a6f7e837788..f98ad552d1604c096dbf0f9b279deef0f9351a7f 100644 --- a/utshell-0.5.0/src/mailcheck.rs +++ b/utshell-0.5.0/src/mailcheck.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::general::{extract_colon_unit, full_pathname, legal_number}; use crate::src_common::*; use crate::subst::expand_string_to_string; @@ -63,32 +68,7 @@ fn init_mail_file(i: libc::c_int) { fn update_mail_file(i: libc::c_int) { let file: *mut libc::c_char; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; unsafe { file = (**mailfiles.offset(i as isize)).name; if mailstat(file, &mut finfo) == 0 as libc::c_int { @@ -100,32 +80,7 @@ fn update_mail_file(i: libc::c_int) { } fn add_mail_file(file: *mut libc::c_char, msg: *mut libc::c_char) -> libc::c_int { - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; let filename: *mut libc::c_char; let mut i: libc::c_int; filename = full_pathname(file); @@ -224,32 +179,7 @@ pub fn init_mail_dates() { fn file_mod_date_changed(i: libc::c_int) -> libc::c_int { let mtime_0: time_t; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; unsafe { let file: *mut libc::c_char; file = (**mailfiles.offset(i as isize)).name; @@ -271,32 +201,7 @@ fn file_mod_date_changed(i: libc::c_int) -> libc::c_int { fn file_access_date_changed(i: libc::c_int) -> libc::c_int { let atime_0: time_t; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; let file: *mut libc::c_char; unsafe { file = (**mailfiles.offset(i as isize)).name; @@ -313,32 +218,7 @@ fn file_access_date_changed(i: libc::c_int) -> libc::c_int { fn file_has_grown(i: libc::c_int) -> libc::c_int { let size: off_t; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; unsafe { let file: *mut libc::c_char; file = (**mailfiles.offset(i as isize)).name; diff --git a/utshell-0.5.0/src/make_cmd.rs b/utshell-0.5.0/src/make_cmd.rs index 2d8c04ca1cd011c36135c5ab67b7451bcc188f53..ed501d02ad40302513dca997e452c0c6c36ac1d4 100644 --- a/utshell-0.5.0/src/make_cmd.rs +++ b/utshell-0.5.0/src/make_cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::array::array_reference; use crate::builtins::common::builtin_address_internal; use crate::dispose_cmd::{dispose_word, dispose_words}; diff --git a/utshell-0.5.0/src/nojobs.rs b/utshell-0.5.0/src/nojobs.rs index 5e52968e5f9f3ea36e0985c200ab636a18806ef1..edd86954186836ba51e1ae20ef9fb2e60e2aad08 100644 --- a/utshell-0.5.0/src/nojobs.rs +++ b/utshell-0.5.0/src/nojobs.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use std::mem::size_of; diff --git a/utshell-0.5.0/src/pathexp.rs b/utshell-0.5.0/src/pathexp.rs index 5045ae28a4985859f38c8097269655e241055bb3..47a576f36de28873d47d7cd385f044b47c15eb69 100644 --- a/utshell-0.5.0/src/pathexp.rs +++ b/utshell-0.5.0/src/pathexp.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use crate::stringlib::substring; use crate::subst::skip_to_delim; diff --git a/utshell-0.5.0/src/pcomplete.rs b/utshell-0.5.0/src/pcomplete.rs index 5915a8087758838afa4d4812a3e5398b604e82af..5b2cb240889f43bfa840cba17680464ebdda9813 100644 --- a/utshell-0.5.0/src/pcomplete.rs +++ b/utshell-0.5.0/src/pcomplete.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use crate::unwind_prot::begin_unwind_frame; use std::convert::TryInto; diff --git a/utshell-0.5.0/src/pcomplib.rs b/utshell-0.5.0/src/pcomplib.rs index 3e86740cac5c1f2c3d119f8ca3d7e37b6b8c7e0b..feeaf30c33fb9977782c55efd2ac93910277942a 100644 --- a/utshell-0.5.0/src/pcomplib.rs +++ b/utshell-0.5.0/src/pcomplib.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::hashlib::{ hash_create, hash_dispose, hash_flush, hash_insert, hash_remove, hash_search, hash_walk, }; diff --git a/utshell-0.5.0/src/print_cmd.rs b/utshell-0.5.0/src/print_cmd.rs index 1bdc3084ac346bd31faede873f790bfd2453a50f..728bd2ab38b3fd26156c803e5ab3bde904e931b3 100644 --- a/utshell-0.5.0/src/print_cmd.rs +++ b/utshell-0.5.0/src/print_cmd.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::copycmd::copy_command; use crate::copycmd::copy_redirect; use crate::dispose_cmd::{dispose_command, dispose_redirects}; diff --git a/utshell-0.5.0/src/readline.rs b/utshell-0.5.0/src/readline.rs index 42af003f472977c2a16f9623ab3f28e90608d19f..7cf32d5a9455112798fe8ceda753f4a781272e35 100644 --- a/utshell-0.5.0/src/readline.rs +++ b/utshell-0.5.0/src/readline.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; pub const control_character_threshold: u32 = 32; pub const control_character_mask: u32 = 31; diff --git a/utshell-0.5.0/src/redir.rs b/utshell-0.5.0/src/redir.rs index 10ffa9a3a89303eec0c3d5a9d944073b4cfbc5c9..5e786957271f2127b67246ab19634015c7e8a618 100644 --- a/utshell-0.5.0/src/redir.rs +++ b/utshell-0.5.0/src/redir.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::arrayfunc::{array_variable_part, get_array_value, valid_array_reference}; use crate::copycmd::{copy_redirects, copy_word}; use crate::dispose_cmd::{dispose_redirects, dispose_words}; @@ -562,32 +567,7 @@ fn noclobber_open( unsafe { let mut r: libc::c_int = 0; let mut fd: libc::c_int = 0; - let mut finfo: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut finfo: crate::src_common::stat = crate::src_common::stat_init; let mut finfo2: crate::src_common::stat = crate::src_common::stat { ..finfo }; r = stat(filename, &mut finfo); if r == 0 && S_ISREG!(finfo.st_mode) { diff --git a/utshell-0.5.0/src/sig.rs b/utshell-0.5.0/src/sig.rs index 9a924f1b6911f2bdab9c118a5f7b085a075e32e7..a2f1283a578f60e1a112a337b65bfbbaa4ecf6a4 100644 --- a/utshell-0.5.0/src/sig.rs +++ b/utshell-0.5.0/src/sig.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::bashhist::maybe_save_shell_history; use crate::bashline::{bashline_reset, bashline_set_event_hook}; use crate::builtins::evalstring::parse_and_execute_cleanup; diff --git a/utshell-0.5.0/src/src_common.rs b/utshell-0.5.0/src/src_common.rs index 02044246c2456b6b6ff3796fae8e2965342bcdd7..7ea10158f48f8196d2a2c34ddca2217c8bfa543d 100644 --- a/utshell-0.5.0/src/src_common.rs +++ b/utshell-0.5.0/src/src_common.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ pub use libc::*; pub use crate::array::array_dispose_element; @@ -4885,10 +4890,20 @@ pub type __uid_t = libc::c_uint; pub type __gid_t = libc::c_uint; pub type __ino_t = libc::c_ulong; pub type __mode_t = libc::c_uint; + +#[cfg(target_arch = "x86_64")] pub type __nlink_t = libc::c_ulong; +#[cfg(not(target_arch = "x86_64"))] +pub type __nlink_t = libc::c_uint; + pub type __rlim_t = libc::c_ulong; pub type __time_t = libc::c_long; + +#[cfg(target_arch = "x86_64")] pub type __blksize_t = libc::c_long; +#[cfg(not(target_arch = "x86_64"))] +pub type __blksize_t = libc::c_int; + pub type __blkcnt_t = libc::c_long; pub type __syscall_slong_t = libc::c_long; pub type __sig_atomic_t = libc::c_int; @@ -4907,20 +4922,67 @@ pub type sig_atomic_t = __sig_atomic_t; pub struct stat { pub st_dev: __dev_t, pub st_ino: __ino_t, + #[cfg(target_arch = "x86_64")] pub st_nlink: __nlink_t, pub st_mode: __mode_t, + #[cfg(not(target_arch = "x86_64"))] + pub st_nlink: __nlink_t, pub st_uid: __uid_t, pub st_gid: __gid_t, + #[cfg(target_arch = "x86_64")] pub __pad0: libc::c_int, pub st_rdev: __dev_t, + #[cfg(not(target_arch = "x86_64"))] + pub __pad1: __dev_t, pub st_size: __off_t, pub st_blksize: __blksize_t, + #[cfg(not(target_arch = "x86_64"))] + pub __pad2: libc::c_int, pub st_blocks: __blkcnt_t, pub st_atim: timespec, pub st_mtim: timespec, pub st_ctim: timespec, + #[cfg(target_arch = "x86_64")] pub __glibc_reserved: [__syscall_slong_t; 3], -} + #[cfg(not(target_arch = "x86_64"))] + pub __glibc_reserved: [libc::c_int; 2], +} + +// stat类型初始化 +pub const stat_init: stat = stat { + st_dev: 0, + st_ino: 0, + st_nlink: 0, + st_mode: 0, + st_uid: 0, + st_gid: 0, + #[cfg(target_arch = "x86_64")] + __pad0: 0, + st_rdev: 0, + #[cfg(not(target_arch = "x86_64"))] + __pad1: 0, + st_size: 0, + st_blksize: 0, + #[cfg(not(target_arch = "x86_64"))] + __pad2: 0, + st_blocks: 0, + st_atim: timespec { + tv_sec: 0, + tv_nsec: 0, + }, + st_mtim: timespec { + tv_sec: 0, + tv_nsec: 0, + }, + st_ctim: timespec { + tv_sec: 0, + tv_nsec: 0, + }, + #[cfg(target_arch = "x86_64")] + __glibc_reserved: [0; 3], + #[cfg(not(target_arch = "x86_64"))] + __glibc_reserved: [0; 2], +}; #[derive(Copy, Clone)] #[repr(C)] diff --git a/utshell-0.5.0/src/stringlib.rs b/utshell-0.5.0/src/stringlib.rs index f8bf1fc5008730c9fce3efbdab2b89df360e11be..ea685d37a1fcf74b4503004fd0f08a0bdafe9c86 100644 --- a/utshell-0.5.0/src/stringlib.rs +++ b/utshell-0.5.0/src/stringlib.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::pathexp::quote_globbing_chars; use crate::src_common::*; diff --git a/utshell-0.5.0/src/subst.rs b/utshell-0.5.0/src/subst.rs index fdb6c836709559dec4c909fc55025ab192bc15a8..542ef3732d3c5641bd46caff49c9a89f1b5f2693 100644 --- a/utshell-0.5.0/src/subst.rs +++ b/utshell-0.5.0/src/subst.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #![allow( dead_code, mutable_transmutes, diff --git a/utshell-0.5.0/src/syntax.rs b/utshell-0.5.0/src/syntax.rs index ad8c303722d3f267cb640f5f8a8d2a021a39e8ec..1994480d7ce0c698b5daf0e612d4a193accc129b 100644 --- a/utshell-0.5.0/src/syntax.rs +++ b/utshell-0.5.0/src/syntax.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; // use libc::c_int; // use r_bash::*; diff --git a/utshell-0.5.0/src/test.rs b/utshell-0.5.0/src/test.rs index 4ef19af2b79a41b5491d3ef85271442bbea3307b..e84c717604b5f04a1937783657d956fdfa64f88a 100644 --- a/utshell-0.5.0/src/test.rs +++ b/utshell-0.5.0/src/test.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::arrayfunc::{array_value, valid_array_reference}; use crate::assoc::assoc_reference; use crate::builtins::common::number_of_args; @@ -691,58 +696,9 @@ pub fn filecomp( mut t: *mut libc::c_char, op: libc::c_int, ) -> libc::c_int { - let mut st1: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; - let mut st2: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut st1: crate::src_common::stat = crate::src_common::stat_init; + let mut st2: crate::src_common::stat = crate::src_common::stat_init; + let mut ts1: crate::src_common::timespec = crate::src_common::timespec { tv_sec: 0, tv_nsec: 0, @@ -882,32 +838,7 @@ pub fn binary_test( #[no_mangle] pub fn unary_test(mut op: *mut libc::c_char, mut arg: *mut libc::c_char) -> libc::c_int { let mut r: intmax_t = 0; - let mut stat_buf: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut stat_buf: crate::src_common::stat = crate::src_common::stat_init; let mut mtime: crate::src_common::timespec = crate::src_common::timespec { tv_sec: 0, tv_nsec: 0, diff --git a/utshell-0.5.0/src/trap.rs b/utshell-0.5.0/src/trap.rs index 28b5c8bff39e8601ade7fb13c92d22fd55cc73e7..d22133e77fcc51d21b038cafd6771adfdc4eba1d 100644 --- a/utshell-0.5.0/src/trap.rs +++ b/utshell-0.5.0/src/trap.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::bashline::bashline_set_event_hook; use crate::builtins::evalstring::evalstring; use crate::builtins::wait::wait_builtin; diff --git a/utshell-0.5.0/src/unwind_prot.rs b/utshell-0.5.0/src/unwind_prot.rs index 986fd8de709a6799584aa077bc40902478c17b01..d7ad1bcb24af9ccfabdda2a9c6f4a2dda12761a6 100644 --- a/utshell-0.5.0/src/unwind_prot.rs +++ b/utshell-0.5.0/src/unwind_prot.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use std::convert::TryInto; diff --git a/utshell-0.5.0/src/utshell.rs b/utshell-0.5.0/src/utshell.rs index 2db88f0d5f65f3132376fa3e64211ae7232683a2..d41a914c80c5efba673c2db58d560112a8f5149c 100644 --- a/utshell-0.5.0/src/utshell.rs +++ b/utshell-0.5.0/src/utshell.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common; use crate::bashhist::{ bash_history_reinit, bash_initialize_history, load_history, maybe_save_shell_history, @@ -1191,32 +1196,7 @@ fn open_shell_script(script_name: *mut libc::c_char) -> libc::c_int { let mut t: *mut libc::c_char = 0 as *mut libc::c_char; let mut sample: [libc::c_char; 80] = [0; 80]; let mut sample_len: libc::c_int = 0; - let mut sb: crate::src_common::stat = crate::src_common::stat { - st_dev: 0, - st_ino: 0, - st_nlink: 0, - st_mode: 0, - st_uid: 0, - st_gid: 0, - __pad0: 0, - st_rdev: 0, - st_size: 0, - st_blksize: 0, - st_blocks: 0, - st_atim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_mtim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - st_ctim: crate::src_common::timespec { - tv_sec: 0, - tv_nsec: 0, - }, - __glibc_reserved: [0; 3], - }; + let mut sb: crate::src_common::stat = crate::src_common::stat_init; let mut funcname_v: *mut SHELL_VAR = 0 as *mut SHELL_VAR; let mut bash_source_v: *mut SHELL_VAR = 0 as *mut SHELL_VAR; let mut bash_lineno_v: *mut SHELL_VAR = 0 as *mut SHELL_VAR; diff --git a/utshell-0.5.0/src/variables.rs b/utshell-0.5.0/src/variables.rs index b32d3a0d4ee31689d889ae1c5c131522b45465d9..0fa7b61a8bbb4ef9b14fa234eaa7d667c84e4511 100644 --- a/utshell-0.5.0/src/variables.rs +++ b/utshell-0.5.0/src/variables.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::alias::add_alias; use crate::array::array_copy; use crate::array::array_create; diff --git a/utshell-0.5.0/src/version.rs b/utshell-0.5.0/src/version.rs index a6be9df944ba51949505ef165c15d6521e8eb5b6..43dcb49f8cdf1a8f412b6c3dfe72ddd4ecb7f395 100644 --- a/utshell-0.5.0/src/version.rs +++ b/utshell-0.5.0/src/version.rs @@ -1,15 +1,20 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ use crate::src_common::*; use std::convert::TryInto; /* The distribution version number of this shell. */ #[no_mangle] -pub static mut dist_version: *const libc::c_char = b"5.1\0" as *const u8 as *const libc::c_char; +pub static mut dist_version: *const libc::c_char = b"0.5\0" as *const u8 as *const libc::c_char; /* It's important that there be no other strings in this file that match the regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ #[no_mangle] -pub static mut patch_level: libc::c_int = 4 as libc::c_int; +pub static mut patch_level: libc::c_int = 0 as libc::c_int; /* The last built version of this shell. */ #[no_mangle] diff --git a/utshell-0.5.0/src/y_tab.rs b/utshell-0.5.0/src/y_tab.rs index 1d2670bc3d939f9d931a416480e834f09f696489..4314f46350eee1f51b869375ce7276404084beba 100644 --- a/utshell-0.5.0/src/y_tab.rs +++ b/utshell-0.5.0/src/y_tab.rs @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #![allow( dead_code, mutable_transmutes,