Patchwork [v2,15/23] convert windows console chardev to QemuOpts.

login
register
mail settings
Submitter Gerd Hoffmann
Date Sept. 10, 2009, 8:58 a.m.
Message ID <1252573135-27688-16-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/33286/
State Superseded
Headers show

Comments

Gerd Hoffmann - Sept. 10, 2009, 8:58 a.m.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qemu-char.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

Patch

diff --git a/qemu-char.c b/qemu-char.c
index 345a9d6..074fc22 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -1701,7 +1701,7 @@  static CharDriverState *qemu_chr_open_win_file(HANDLE fd_out)
     return chr;
 }
 
-static CharDriverState *qemu_chr_open_win_con(const char *filename)
+static CharDriverState *qemu_chr_open_win_con(QemuOpts *opts)
 {
     return qemu_chr_open_win_file(GetStdHandle(STD_OUTPUT_HANDLE));
 }
@@ -2234,6 +2234,10 @@  static QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename)
         qemu_opt_set(opts, "backend", filename);
         return opts;
     }
+    if (strcmp(filename, "con:") == 0) {
+        qemu_opt_set(opts, "backend", "console");
+        return opts;
+    }
     if (strstart(filename, "file:", &p)) {
         qemu_opt_set(opts, "backend", "file");
         qemu_opt_set(opts, "path", p);
@@ -2285,6 +2289,7 @@  static const struct {
 #ifdef _WIN32
     { .name = "file",      .open = qemu_chr_open_win_file_out },
     { .name = "pipe",      .open = qemu_chr_open_win_pipe },
+    { .name = "console",   .open = qemu_chr_open_win_con },
 #else
     { .name = "file",      .open = qemu_chr_open_file_out },
     { .name = "pipe",      .open = qemu_chr_open_pipe },
@@ -2381,9 +2386,6 @@  CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*i
     if (strstart(filename, "COM", NULL)) {
         chr = qemu_chr_open_win(filename);
     } else
-    if (strstart(filename, "con:", NULL)) {
-        chr = qemu_chr_open_win_con(filename);
-    } else
 #endif
     {
         chr = NULL;