diff options
author | Alan Dunn <amdunn@google.com> | 2016-03-02 08:59:04 -0800 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2016-04-26 12:57:16 +1000 |
commit | c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb (patch) | |
tree | 0d8471d840ac4439666f03bf822ddabb0f3cff4e | |
parent | 013bf20025957f1b812f0c6e50f8d7afa215e1a3 (diff) | |
download | petitboot-c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb.zip petitboot-c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb.tar.gz |
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.c | 2 |
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]); } |