2
0
Эх сурвалжийг харах

fix dedup_reverse for dash

ruki 2 жил өмнө
parent
commit
8ee8e45e05
1 өөрчлөгдсөн 14 нэмэгдсэн , 15 устгасан
  1. 14 15
      configure

+ 14 - 15
configure

@@ -201,11 +201,10 @@ _os_tmpfile() {
 
 
 # try run program
 # try run program
 _os_runv() {
 _os_runv() {
-    local cmd="${@}"
     if ${xmake_sh_diagnosis}; then
     if ${xmake_sh_diagnosis}; then
-        ${cmd}
+        ${@}
     else
     else
-        ${cmd} >/dev/null 2>&1
+        ${@} >/dev/null 2>&1
     fi
     fi
     local ok=$?
     local ok=$?
     if test "${ok}" -ne "0"; then
     if test "${ok}" -ne "0"; then
@@ -216,10 +215,9 @@ _os_runv() {
 
 
 # try run program and get output
 # try run program and get output
 _os_iorunv() {
 _os_iorunv() {
-    local cmd="${@}"
     _os_tmpfile
     _os_tmpfile
     local tmpfile="${_ret}"
     local tmpfile="${_ret}"
-    ${cmd} >"${tmpfile}" 2>&1
+    ${@} >"${tmpfile}" 2>&1
     local ok=$?
     local ok=$?
     if test "${ok}" -ne "0"; then
     if test "${ok}" -ne "0"; then
         _ret=""
         _ret=""
@@ -464,8 +462,9 @@ _dedup() {
 # .e.g "hello world hello how are you world" -> hello how are you world
 # .e.g "hello world hello how are you world" -> hello how are you world
 _dedup_reverse() {
 _dedup_reverse() {
     local result=""
     local result=""
-    local list=$(echo "${1}" | awk '{for (i = NF; i > 0; --i) if (!seen[$i]++) printf $i " "}')
+    local list=""
     local item=""
     local item=""
+    list=$(echo "${1}" | awk '{for (i = NF; i > 0; --i) if (!seen[$i]++) printf $i " "}')
     for item in ${list}; do
     for item in ${list}; do
         result="${item} ${result}"
         result="${item} ${result}"
     done
     done
@@ -521,17 +520,17 @@ _map() {
 _map_get() {
 _map_get() {
     local name="${1}"
     local name="${1}"
     local key="${2}"
     local key="${2}"
-    local value=$(eval echo \$_map_${name}_value_${key})
-    if test_eq "${value}" "__empty__"; then
-        value=""
+    _ret=$(eval echo \$_map_${name}_value_${key})
+    if test_eq "${_ret}" "__empty__"; then
+        _ret=""
     fi
     fi
-    _ret="${value}"
 }
 }
 
 
 _map_has() {
 _map_has() {
     local name="${1}"
     local name="${1}"
     local key="${2}"
     local key="${2}"
-    local value=$(eval echo \$_map_${name}_value_${key})
+    local value=""
+    value=$(eval echo \$_map_${name}_value_${key})
     if test_nz "${value}"; then
     if test_nz "${value}"; then
         return 0
         return 0
     fi
     fi
@@ -2229,11 +2228,10 @@ set_symbols() {
 
 
 # set languages in target
 # set languages in target
 set_languages() {
 set_languages() {
-    local languages="${@}"
     if ${_loading_targets} && test_z "${_xmake_sh_option_current}"; then
     if ${_loading_targets} && test_z "${_xmake_sh_option_current}"; then
-        _set_target_item "${_xmake_sh_target_current}" "languages" "${languages}"
+        _set_target_item "${_xmake_sh_target_current}" "languages" "${@}"
     elif ${_loading_options} && test_nz "${_xmake_sh_option_current}"; then
     elif ${_loading_options} && test_nz "${_xmake_sh_option_current}"; then
-        _set_option_item "${_xmake_sh_option_current}" "languages" "${languages}"
+        _set_option_item "${_xmake_sh_option_current}" "languages" "${@}"
     fi
     fi
 }
 }
 
 
@@ -3453,7 +3451,8 @@ _generate_configfile() {
     fi
     fi
 
 
     # replace git variables
     # replace git variables
-    local content=$(cat "${configfile_in}")
+    local content=""
+    content=$(cat "${configfile_in}")
     if string_contains "${content}" "GIT_"; then
     if string_contains "${content}" "GIT_"; then
         _os_iorunv "git" "describe" "--tags"; local git_tag="${_ret}"
         _os_iorunv "git" "describe" "--tags"; local git_tag="${_ret}"
         if test_nz "${git_tag}"; then
         if test_nz "${git_tag}"; then