Using 'local' in a safe way.
authorTails developers <amnesia@boum.org>
Fri, 7 Dec 2012 21:31:36 +0000 (22:31 +0100)
committerDaniel Baumann <daniel@debian.org>
Fri, 7 Dec 2012 21:31:36 +0000 (22:31 +0100)
commit7f275599f4d4c8800d1bbf6ee275328d033a7438
treec08ad56ad4bb62cc7c3b4ed194c0c91b8a0b5dac
parent2f02d72b1816c4d8b59c10c56bd747f8f01e4d1e
Using 'local' in a safe way.

First of all, 'local' is non-POSIX, but it is a really good safeguard
against hard-to-find bugs. However, doing a local + initializing combo
like `local X=$Y` in dash is error prone. If `Y=1 2` will get an error
since dash will expand $Y so we get `local X=1 2`, but it will treat
the "2" as another variable to be made local, which isn't what we
want. Hence, let's declare variables local and initialize them in
separate commands, which is safe.
scripts/boot/9990-misc-helpers.sh
scripts/boot/9990-mount-http.sh
scripts/boot/9990-mount-iscsi.sh
scripts/boot/9990-overlay.sh