Skip to content

Commit 9588659

Browse files
committed
zfsbootmenu/*: tab-delimit kernel lists for boot environments
1 parent 2958aaf commit 9588659

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

zfsbootmenu/bin/zfsbootmenu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ while true; do
131131
zdebug "selected kernel: ${selected_kernel}"
132132

133133
# shellcheck disable=SC2034
134-
IFS=' ' read -r fs kpath initrd <<< "${selected_kernel}"
134+
IFS=$'\t' read -r fs kpath initrd <<< "${selected_kernel}"
135135

136136
case "${subkey}" in
137137
"enter")

zfsbootmenu/lib/zfsbootmenu-core.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ kexec_kernel() {
318318
# zfs filesystem
319319
# kernel
320320
# initramfs
321-
IFS=' ' read -r fs kernel initramfs <<<"${selected}"
321+
IFS=$'\t' read -r fs kernel initramfs <<<"${selected}"
322322

323323
zdebug "fs: ${fs}, kernel: ${kernel}, initramfs: ${initramfs}"
324324

@@ -820,7 +820,7 @@ find_be_kernels() {
820820
zdebug "found kernel: ${mnt}${kpath}, initramfs ${mnt}${ipath}"
821821
ipath="${ipath#"${mnt}"}"
822822
ipath="/${ipath#/}"
823-
echo "${fs} ${kpath} ${ipath}" >> "${kernel_records}"
823+
printf "%s\t%s\t%s\n" "${fs}" "${kpath}" "${ipath}" >> "${kernel_records}"
824824
else
825825
zdebug "kernel ${mnt}${kpath} has no initramfs"
826826
fi
@@ -872,7 +872,7 @@ select_kernel() {
872872
zdebug "org.zfsbootmenu:kernel set to ${specific_kernel}"
873873
while read -r spec_kexec_args; do
874874
local fs kernel initramfs
875-
IFS=' ' read -r fs kernel initramfs <<<"${spec_kexec_args}"
875+
IFS=$'\t' read -r fs kernel initramfs <<<"${spec_kexec_args}"
876876
if [[ "${kernel}" =~ ${specific_kernel} ]]; then
877877
zdebug "matched ${kernel} to ${specific_kernel}"
878878
kexec_args="${spec_kexec_args}"

zfsbootmenu/lib/zfsbootmenu-ui.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ draw_be() {
169169
${HAS_BORDER:+--preview-label-pos=2:bottom} \
170170
${HAS_BORDER:+--preview-label="$( colorize orange " ${preview_label} " )"} \
171171
--header="${header}" --preview-window="up:${PREVIEW_HEIGHT}${HAS_BORDER:+,border-sharp}" \
172-
--preview="/libexec/zfsbootmenu-preview {} ${BOOTFS}" < "${env}" )"; then
172+
--preview="/libexec/zfsbootmenu-preview {} '${BOOTFS}'" < "${env}" )"; then
173173
return 1
174174
fi
175175

@@ -214,10 +214,10 @@ draw_kernel() {
214214
expects="--expect=alt-d,alt-u,left,right"
215215

216216
if ! selected="$( HELP_SECTION=kernel-management ${FUZZYSEL} \
217-
--prompt "${benv} > " --tac --with-nth=2 --header="${header}" \
218-
${HAS_BORDER:+--border-label="$( global_header )"} \
217+
--prompt "${benv} > " --tac --delimiter=$'\t' --with-nth=2 \
218+
--header="${header}" ${HAS_BORDER:+--border-label="$( global_header )"} \
219219
${expects} ${expects//alt-/ctrl-} ${expects//alt-/ctrl-alt-} \
220-
--preview="/libexec/zfsbootmenu-preview ${benv} ${BOOTFS}" \
220+
--preview="/libexec/zfsbootmenu-preview '${benv}' '${BOOTFS}'" \
221221
--preview-window="up:${PREVIEW_HEIGHT}${HAS_BORDER:+,border-sharp}" < "${_kernels}" )"; then
222222
return 1
223223
fi
@@ -321,7 +321,7 @@ draw_snapshots() {
321321
--bind="ctrl-alt-d:execute[ /libexec/zfsbootmenu-diff {+} ]${HAS_REFRESH:++refresh-preview}" \
322322
${HAS_BORDER:+--preview-label-pos=${preview_offset:+${preview_offset}}bottom} \
323323
${HAS_BORDER:+--preview-label="${context}"} \
324-
--preview="/libexec/zfsbootmenu-preview ${benv} ${BOOTFS} ${LEGACY_CONTEXT:+\"${context}\"}" \
324+
--preview="/libexec/zfsbootmenu-preview '${benv}' '${BOOTFS}' ${LEGACY_CONTEXT:+\"${context}\"}" \
325325
--preview-window="up:$(( PREVIEW_HEIGHT + ${LEGACY_CONTEXT:-0} ))${HAS_BORDER:+,border-sharp}" <<<"${snapshots}" )"
326326
then
327327
return 1

zfsbootmenu/libexec/zfsbootmenu-preview

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ENV="${1}"
1111
BOOTFS="${2}"
1212

1313
# shellcheck disable=SC2034
14-
IFS=' ' read -r _fs selected_kernel _initramfs <<<"$( select_kernel "${ENV}" || echo "- missing -" )"
14+
IFS=$'\t' read -r _fs selected_kernel _initramfs <<<"$( select_kernel "${ENV}" || echo "- missing -" )"
1515
selected_kernel="${selected_kernel##*/}"
1616

1717
if [ "${BOOTFS}" = "${ENV}" ]; then

0 commit comments

Comments
 (0)