diff options
Diffstat (limited to 'qemu-char.c')
-rw-r--r-- | qemu-char.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/qemu-char.c b/qemu-char.c index 02d4049d0c..ac431c7c5c 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -2122,7 +2122,7 @@ static CharDriverState *qemu_chr_open_tcp(const char *host_str, static TAILQ_HEAD(CharDriverStateHead, CharDriverState) chardevs = TAILQ_HEAD_INITIALIZER(chardevs); -CharDriverState *qemu_chr_open(const char *label, const char *filename) +CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*init)(struct CharDriverState *s)) { const char *p; CharDriverState *chr; @@ -2146,7 +2146,7 @@ CharDriverState *qemu_chr_open(const char *label, const char *filename) chr = qemu_chr_open_udp(p); } else if (strstart(filename, "mon:", &p)) { - chr = qemu_chr_open(label, p); + chr = qemu_chr_open(label, p, NULL); if (chr) { chr = qemu_chr_open_mux(chr); monitor_init(chr, !nographic); @@ -2207,6 +2207,7 @@ CharDriverState *qemu_chr_open(const char *label, const char *filename) if (chr) { if (!chr->filename) chr->filename = qemu_strdup(filename); + chr->init = init; chr->label = qemu_strdup(label); TAILQ_INSERT_TAIL(&chardevs, chr, next); } |