From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mkgjt-0007UC-JG for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mkgjn-0007PV-HQ for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:43 -0400 Received: from [199.232.76.173] (port=34952 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mkgjn-0007PA-9R for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52401) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mkgjm-0003VU-FH for qemu-devel@nongnu.org; Mon, 07 Sep 2009 12:06:38 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n87G6br9011777 for ; Mon, 7 Sep 2009 12:06:37 -0400 From: Gerd Hoffmann Date: Mon, 7 Sep 2009 18:06:13 +0200 Message-Id: <1252339585-27797-12-git-send-email-kraxel@redhat.com> In-Reply-To: <1252339585-27797-1-git-send-email-kraxel@redhat.com> References: <1252339585-27797-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 11/23] convert pty chardev to QemuOpts. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Signed-off-by: Gerd Hoffmann --- qemu-char.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/qemu-char.c b/qemu-char.c index c5ea5be..ef6ab87 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -956,7 +956,7 @@ static void pty_chr_close(struct CharDriverState *chr) qemu_chr_event(chr, CHR_EVENT_CLOSED); } -static CharDriverState *qemu_chr_open_pty(void) +static CharDriverState *qemu_chr_open_pty(QemuOpts *opts) { CharDriverState *chr; PtyCharDriver *s; @@ -986,6 +986,7 @@ static CharDriverState *qemu_chr_open_pty(void) len = strlen(q_ptsname(s->fd)) + 5; chr->filename = qemu_malloc(len); snprintf(chr->filename, len, "pty:%s", q_ptsname(s->fd)); + qemu_opt_set(opts, "path", q_ptsname(s->fd)); fprintf(stderr, "char device redirected to %s\n", q_ptsname(s->fd)); chr->opaque = s; @@ -2225,8 +2226,9 @@ static QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename) if (NULL == opts) return NULL; - if (strcmp(filename, "null") == 0) { - qemu_opt_set(opts, "backend", "null"); + if (strcmp(filename, "null") == 0 || + strcmp(filename, "pty") == 0) { + qemu_opt_set(opts, "backend", filename); return opts; } if (strstart(filename, "file:", &p)) { @@ -2282,6 +2284,7 @@ static struct { #else { .name = "file", .open = qemu_chr_open_file_out }, { .name = "pipe", .open = qemu_chr_open_pipe }, + { .name = "pty", .open = qemu_chr_open_pty }, #endif }; @@ -2353,9 +2356,7 @@ CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*i chr = qemu_chr_open_msmouse(); } else #ifndef _WIN32 - if (!strcmp(filename, "pty")) { - chr = qemu_chr_open_pty(); - } else if (!strcmp(filename, "stdio")) { + if (!strcmp(filename, "stdio")) { chr = qemu_chr_open_stdio(); } else #if defined(__linux__) -- 1.6.2.5