summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Dunn <amdunn@google.com>2016-03-02 08:59:04 -0800
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2016-04-26 12:57:16 +1000
commitc5cbcf4b6a2ee7dafba8d29d52071752f3022ebb (patch)
tree0d8471d840ac4439666f03bf822ddabb0f3cff4e
parent013bf20025957f1b812f0c6e50f8d7afa215e1a3 (diff)
downloadtalos-petitboot-c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb.tar.gz
talos-petitboot-c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb.zip
discover/grub2: Do not set $0 in functions
GRUB2 does not set $0 in functions, so don't set it in our GRUB2 script parser. (As it doesn't have a value in GRUB2 scripts, probably no GRUB2 script depends on the value of $0.) Additionally, dash and bash set environment variable 0 to the name of the script (even in functions), so the current behavior of $0 doesn't really match shell scripts either. Tested: Existing tests pass. Signed-off-by: Alan Dunn <amdunn@google.com> Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rw-r--r--discover/grub2/script.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/discover/grub2/script.c b/discover/grub2/script.c
index 48c963e..ed81a20 100644
--- a/discover/grub2/script.c
+++ b/discover/grub2/script.c
@@ -379,7 +379,7 @@ static int function_invoke(struct grub2_script *script,
int i;
/* set positional parameters */
- for (i = 0; i < argc; i++) {
+ for (i = 1; i < argc; i++) {
name = talloc_asprintf(script, "%d", i);
script_env_set(script, name, argv[i]);
}
OpenPOWER on IntegriCloud