summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDieter Plaetinck <dieter@plaetinck.be>2008-12-10 19:43:13 +0100
committerDieter Plaetinck <dieter@plaetinck.be>2008-12-10 19:43:13 +0100
commite3812d0141c819bfc5e10ef4f2b5e20974d89e79 (patch)
treeec67e3fa3d2962c06bf7f462c6849f6b0ad1a951
parent5beaf87d1acced2d5ad96a2f24f82379122e7137 (diff)
fix for lost partition WOOHOOO
-rw-r--r--TODO1
-rw-r--r--src/core/libs/lib-blockdevices-filesystems.sh4
2 files changed, 3 insertions, 2 deletions
diff --git a/TODO b/TODO
index 5337afd..4ca1927 100644
--- a/TODO
+++ b/TODO
@@ -8,7 +8,6 @@ General:
* test refactored disk code
Specifically:
-* lib/blockdevice: autoprepare does not take the last item in 'for fsspec in $STRING; do' (check debug output)
* core/interactive: fix workaround needed for installpkg exitcode
* core/interactive: keymap setting from installer does not go in $target/etc/rc.conf
* lib-ui: don't echo the results, just use the $ANSWER_<foo> variables
diff --git a/src/core/libs/lib-blockdevices-filesystems.sh b/src/core/libs/lib-blockdevices-filesystems.sh
index 1c4948a..6b1b30a 100644
--- a/src/core/libs/lib-blockdevices-filesystems.sh
+++ b/src/core/libs/lib-blockdevices-filesystems.sh
@@ -286,7 +286,9 @@ partition()
# setup input var for sfdisk
# format: each line=1 part. <start> <size> <id> <bootable>[ <c,h,s> <c,h,s>]
- for fsspec in $STRING; do
+ read -r -a fsspecs <<< "$STRING" # split up like this otherwise '*' will be globbed. which usually means an entry containing * is lost
+
+ for fsspec in "${fsspecs[@]}"; do
fssize=$(echo $fsspec | tr -d ' ' | cut -f1 -d:)
fssize_spec=",$fssize"
[ "$fssize" = "*" ] && fssize_spec=';'