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>
This commit is contained in:
parent
6a380e5b66
commit
e0abeaccef
@ -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…
Reference in New Issue
Block a user