Multiple nonopt arguments seems to have never worked, because the value was always extracted out of the first non-opt argument. After the first iteration, it'll have it's '=' stripped and thus value == NULL for all i > 0. Fix this. Before: $ nv a=1 b=2 c=3 $ echo "[$nv.a $nv.b $nv.c]" [1 ] After: $ nv a=1 b=2 c=3 $ echo "[$nv.a $nv.b $nv.c]" [1 2 3] Fixes: 0c2fccceb625 ("nv: Allow to set/remove multiple variables with one command") Signed-off-by: Ahmad Fatoum <ahmad@xxxxxx> --- commands/nv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/nv.c b/commands/nv.c index 8d4192402ca5..fa865811dce2 100644 --- a/commands/nv.c +++ b/commands/nv.c @@ -55,7 +55,7 @@ static int do_nv(int argc, char *argv[]) for (i = 0; i < argc; i++) { int ret; - value = strchr(argv[0], '='); + value = strchr(argv[i], '='); if (value) { *value = 0; value++; -- 2.28.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox