From c5cbcf4b6a2ee7dafba8d29d52071752f3022ebb Mon Sep 17 00:00:00 2001 From: Alan Dunn Date: Wed, 2 Mar 2016 08:59:04 -0800 Subject: 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 Signed-off-by: Samuel Mendoza-Jonas --- discover/grub2/script.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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]); } -- cgit v1.2.1