diff options
author | Edward O'Callaghan <quasisec@google.com> | 2021-10-25 16:38:08 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-25 11:44:51 +0000 |
commit | 2821ee7afac6b1a5d7998246f3a8026e914ef2e7 (patch) | |
tree | bc6a8ab6cde68e4919a46e283cd7a0065e96b8df | |
parent | 0cbf022c03e4c57a00c00c38d33a1aa02ccb6ef9 (diff) | |
download | vboot-2821ee7afac6b1a5d7998246f3a8026e914ef2e7.tar.gz |
vboot_reference/futility: pipe log level though
Also drop colour support at reviewers request.
BUG=b:203715651
BRANCH=none
TEST=cros deploy to nocturne and ran:
`/usr/sbin/chromeos-firmwareupdate --mode=recovery --wp=1`.
&& `$ cros_run_unit_tests --board nocturne --packages vboot_reference`.
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Change-Id: Ie1d1b1e8e304d21ac1df741a3b789cb49ede3556
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3244680
Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
Tested-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
-rw-r--r-- | futility/updater_utils.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/futility/updater_utils.c b/futility/updater_utils.c index dec0dab9..a20a026b 100644 --- a/futility/updater_utils.c +++ b/futility/updater_utils.c @@ -609,31 +609,25 @@ static int host_flashrom(enum flashrom_ops op, const char *image_path, return r; } +// global to allow verbosity level to be injected into callback. +static enum flashrom_log_level g_verbose_screen = FLASHROM_MSG_INFO; + static int flashrom_print_cb(enum flashrom_log_level level, const char *fmt, va_list ap) { int ret = 0; - enum flashrom_log_level verbose_screen = FLASHROM_MSG_INFO; - FILE *output_type = (level < verbose_screen) ? stderr : stdout; + FILE *output_type = (level < FLASHROM_MSG_INFO) ? stderr : stdout; - if (level > verbose_screen) + if (level > g_verbose_screen) return ret; -#define COLOUR_RESET "\033[0;m" -#define MAGENTA_TEXT "\033[35;1m" - - if (level != FLASHROM_MSG_SPEW) - fprintf(output_type, MAGENTA_TEXT); - ret = vfprintf(output_type, fmt, ap); /* msg_*spew often happens inside chip accessors * in possibly time-critical operations. * Don't slow them down by flushing. */ - if (level != FLASHROM_MSG_SPEW) { - fprintf(output_type, COLOUR_RESET); + if (level != FLASHROM_MSG_SPEW) fflush(output_type); - } return ret; } @@ -776,6 +770,7 @@ int load_system_firmware(struct firmware_image *image, { int r; + g_verbose_screen = verbosity + 1; r = host_flashrom_read(image); if (!r) r = parse_firmware_image(image); @@ -793,6 +788,7 @@ int write_system_firmware(const struct firmware_image *image, struct tempfile *tempfiles, int verbosity) { + g_verbose_screen = verbosity + 1; return host_flashrom_write(image, section_name, diff_image); } |