On Wed, Dec 25, 2019 at 11:09:21PM +0100, Klemens Nanni wrote: > ":a" corresponding to val[2] = 0 wouldn't be printed as val[] is zero > initialised and our parsing code turns 'a' into 0 which leaves the > printing code unable to differentiate between default and actual value. While this holds true,
> NB: I think the existing code is incorrect for bootpaths _not_ containing > any "@": bootpath_build() won't either val[1] or val[2] but set only set > val[0] to -1; in bootpath_print() if val[0] is -1 val[1] is used but > will always be zero (due to bp being bzero()'ed). This is covered in my > diff and cannot happen. this was an oversight and I did not account for other places in autoconf checking val[], e.g. fibre channel detection in device_register(). Sorry for that, I'm working on another diff that hopefully won't break any existing setup.