summaryrefslogtreecommitdiff
path: root/futility/updater_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'futility/updater_utils.c')
-rw-r--r--futility/updater_utils.c20
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);
}