Could you explain the use case here? I'm not against the change per se, but I'm against zero verbosity ;).
On 14.10.21 10:44, Michael Adler wrote: > Signed-off-by: Michael Adler <[email protected]> > --- > tools/bg_setenv.c | 45 ++++++++++++++++++++++++++++++--------------- > 1 file changed, 30 insertions(+), 15 deletions(-) > > diff --git a/tools/bg_setenv.c b/tools/bg_setenv.c > index 0429c01..0a2ebce 100644 > --- a/tools/bg_setenv.c > +++ b/tools/bg_setenv.c > @@ -53,6 +53,9 @@ static struct argp_option options_printenv[] = { > {"filepath", 'f', "ENVFILE", 0, > "Read environment from file. Expects a valid EFI Boot Guard " > "environment file."}, > + {"part", 'p', "ENV_PART", 0, > + "Set environment partition to read from. If no partition is specified, > " > + "all config partitions will be read."}, > {"verbose", 'v', 0, 0, "Be verbose"}, > {"version", 'V', 0, 0, "Print version"}, > {} > @@ -276,7 +279,7 @@ static error_t parse_opt(int key, char *arg, struct > argp_state *state) > return 1; > } > if (i >= 0 && i < ENV_NUM_CONFIG_PARTS) { > - fprintf(stdout, "Updating config partition #%d\n", i); > + fprintf(stdout, "Using config partition #%d\n", i); > arguments->which_part = i; > part_specified = true; > } else { > @@ -546,24 +549,32 @@ static void update_environment(BGENV *env) > > } > > +static bool dump_env_by_index(uint32_t index) > +{ > + if (verbosity) { > + fprintf(stdout, "\n----------------------------\n"); > + fprintf(stdout, " Config Partition #%d ", index); > + } > + BGENV *env = bgenv_open_by_index(index); > + if (!env) { > + fprintf(stderr, "Error, could not read environment " > + "for index %d\n", > + index); > + return false; > + } > + if (verbosity) { > + dump_env(env->data); > + } > + bgenv_close(env); > + return true; > +} > + > static void dump_envs(void) > { > for (int i = 0; i < ENV_NUM_CONFIG_PARTS; i++) { > - if (verbosity) { > - fprintf(stdout, "\n----------------------------\n"); > - fprintf(stdout, " Config Partition #%d ", i); > - } > - BGENV *env = bgenv_open_by_index(i); > - if (!env) { > - fprintf(stderr, "Error, could not read environment " > - "for index %d\n", > - i); > + if (!dump_env_by_index(i)) { > return; > } > - if (verbosity) { > - dump_env(env->data); > - } > - bgenv_close(env); > } > } > > @@ -703,7 +714,11 @@ int main(int argc, char **argv) > return 1; > } > > - dump_envs(); > + if (part_specified) { > + dump_env_by_index(arguments.which_part); > + } else { > + dump_envs(); > + } > > if (!write_mode) { > bgenv_finalize(); > Looks good otherwise. May require rebasing over next. Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/b22f5553-0229-f4dc-e99a-c92134cb0778%40siemens.com.
