diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2022-08-13 08:06:22 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2022-08-16 08:12:58 -0400 |
commit | b57b71aacb953fa11b37ea8adaf582230017a48f (patch) | |
tree | 7d7ecd3d947ab73e84903431440b9e3b33aac23a | |
parent | 9e768131a7ae55066ad027908af304952abd2be9 (diff) |
refactor PopulatePartsData PopulatePartOptions
-rwxr-xr-x | install.sh | 9 | ||||
-rw-r--r-- | session-common.sh.inc | 22 |
2 files changed, 17 insertions, 14 deletions
@@ -499,7 +499,8 @@ _PartitionManual() # query partition information local device_n=$(GetStateVar 'DEVICE_N') - PopulatePartOptions ${device_n} # PopulatePartOptions() populates DlgParams + PopulatePartsData $(( ${device_n} )) # populates $PartsData + PopulatePartOptions # populates $DlgParams (( ${#DlgParams[@]} )) || ExitFail "${TR[part_none-${Lang}]}" # prompt for root partition @@ -508,7 +509,7 @@ _PartitionManual() "${DlgParams[@]}" ) if [[ -n "${part_n}" ]] then SetStateVar 'ROOT_PART' ${device}${part_n} - RemoveOption ${part_n} ; PopulatePartOptions ${device_n} ; + RemovePartOption ${part_n} else exit fi @@ -521,7 +522,7 @@ _PartitionManual() "${DlgParams[@]}" ) if [[ -n "${part_n}" ]] then SetStateVar 'BOOT_PART' ${device}${part_n} - RemoveOption ${part_n} ; PopulatePartOptions ${device_n} ; + RemovePartOption ${part_n} fi fi if (( ${#DlgParams[@]} )) @@ -531,7 +532,7 @@ _PartitionManual() "${DlgParams[@]}" ) if [[ -n "${part_n}" ]] then SetStateVar 'HOME_PART' ${device}${part_n} - RemoveOption ${part_n} ; PopulatePartOptions ${device_n} ; + RemovePartOption ${part_n} fi fi } diff --git a/session-common.sh.inc b/session-common.sh.inc index 4af8e20..4859d01 100644 --- a/session-common.sh.inc +++ b/session-common.sh.inc @@ -292,20 +292,21 @@ GetDevice() # (disk_data_n) PopulatePartsData() # (disk_data_n) # sets $PartsData { - local disk_data_n=$1 + local disk_data_n=$(( $1 - 1 )) # dialog device_n is 1-based local disk_parts_data=( $(GetDiskPartsData ${disk_data_n}) ) local part_data_n local disk_part_data local dlg_part_n PartsData=() - # populate params array for dialog - example output: - # 1 "/dev/sdb1 9662MB ext4" 2 "/dev/sdb2 1048kB" + # populate storage array for partition data - example PartsData: + # [1]="/dev/sdb1 9662MB ext4" [2]="/dev/sdb2 1048kB" for (( part_data_n=0 ; part_data_n < ${#disk_parts_data[@]} ; ++part_data_n )) do disk_part_data="$(GetDiskPartData ${disk_data_n} ${part_data_n})" - dlg_part_n=$(( ${part_data_n} + 1 )) - if ! [[ "${disk_part_data}" =~ linux-swap ]] && \ - ! mount | grep "^${disk_part_data/ *} " > /dev/null + dlg_part_n=$(( ${part_data_n} + 1 )) # sparse array for selective deletion + + if ! [[ "${disk_part_data}" =~ linux-swap ]] && # ignore swap + ! mount | grep "^${disk_part_data/ *} " > /dev/null # ignore mounted then PartsData[${dlg_part_n}]="${disk_part_data}" fi done @@ -324,22 +325,23 @@ PopulateDisksOptions() # sets $DlgParams done } -PopulatePartOptions() # (device_n) # sets $DlgParams +PopulatePartOptions() # sets $DlgParams, assumes $PartsData { - local dlg_device_n=$1 local part_data_n DlgParams=() - PopulatePartsData $(( ${dlg_device_n} - 1 )) # populates PartsData + # populate params array for dialog - example DlgParams: + # ( 1 "/dev/sdb1 9662MB ext4" 2 "/dev/sdb2 1048kB" ) for part_data_n in $(tr ' ' '\n' <<<${!PartsData[@]} | sort) do DlgParams+=( ${part_data_n} "${PartsData[${part_data_n}]}" ) done } -RemoveOption() # (part_n) # modifies $PartsData +RemovePartOption() # (part_n) # modifies $PartsData { local dlg_part_n=$1 unset 'PartsData['"${dlg_part_n}"']' + PopulatePartOptions } |