mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
qemu-char: Print strerror message on failure
The only way for chardev drivers to communicate an error was to return a NULL pointer, which resulted in an error message that said _that_ something went wrong, but not _why_. This patch changes the interface to return 0/-errno and updates qemu_chr_open_opts to use strerror to display a more helpful error message. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
84682834eb
commit
6e1db57b2a
8 changed files with 117 additions and 83 deletions
|
@ -1514,7 +1514,7 @@ static void text_console_do_init(CharDriverState *chr, DisplayState *ds)
|
|||
chr->init(chr);
|
||||
}
|
||||
|
||||
CharDriverState *text_console_init(QemuOpts *opts)
|
||||
int text_console_init(QemuOpts *opts, CharDriverState **_chr)
|
||||
{
|
||||
CharDriverState *chr;
|
||||
TextConsole *s;
|
||||
|
@ -1546,7 +1546,7 @@ CharDriverState *text_console_init(QemuOpts *opts)
|
|||
|
||||
if (!s) {
|
||||
free(chr);
|
||||
return NULL;
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
s->chr = chr;
|
||||
|
@ -1554,7 +1554,9 @@ CharDriverState *text_console_init(QemuOpts *opts)
|
|||
s->g_height = height;
|
||||
chr->opaque = s;
|
||||
chr->chr_set_echo = text_console_set_echo;
|
||||
return chr;
|
||||
|
||||
*_chr = chr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void text_consoles_set_display(DisplayState *ds)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue