efi_selftest: do not cut off u16 strings when printing

Device paths can be very long. Due to a limited output buffer
the output for device paths is cut off. We can avoid this by
directly calling the boottime service with the the device path
string.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[agraf: Remove coloring code change]
Signed-off-by: Alexander Graf <agraf@suse.de>
master
Heinrich Schuchardt 6 years ago committed by Alexander Graf
parent 6a380e5b66
commit e0abeaccef
  1. 12
      lib/efi_selftest/efi_selftest_console.c

@ -142,7 +142,7 @@ void efi_st_printf(const char *fmt, ...)
const char *c;
u16 *pos = buf;
const char *s;
const u16 *u;
u16 *u;
va_start(args, fmt);
@ -188,9 +188,13 @@ void efi_st_printf(const char *fmt, ...)
/* u16 string */
case 's':
u = va_arg(args, u16*);
/* Ensure string fits into buffer */
for (; *u && pos < buf + 120; ++u)
*pos++ = *u;
if (pos > buf) {
*pos = 0;
con_out->output_string(con_out,
buf);
}
con_out->output_string(con_out, u);
pos = buf;
break;
default:
--c;

Loading…
Cancel
Save