From 09a214dd9c1659e23ecd02d700bb1a0547900e6c Mon Sep 17 00:00:00 2001 From: kraxel Date: Wed, 18 Mar 2009 08:25:51 +0000 Subject: fix usbhost parser, change vm name lookup --- qemu-gtk.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'qemu-gtk.c') diff --git a/qemu-gtk.c b/qemu-gtk.c index 073d572..a092c3c 100644 --- a/qemu-gtk.c +++ b/qemu-gtk.c @@ -957,10 +957,37 @@ static void usage(FILE *fp) APPNAME); } +static void vm_lookup(char *mon, int len, char *arg) +{ + GError *err = NULL; + char *ptr; + + /* monitor connection specified? */ + if (strchr(arg,':') || strchr(arg,'/')) { + snprintf(mon, len, "%s", arg); + goto done; + } + + /* listed in config file? */ + ptr = g_key_file_get_string(config, "vm", arg, &err); + if (ptr) { + snprintf(mon, len, "%s", ptr); + goto done; + } + + /* try socket created by qemu-run script */ + snprintf(mon, len, "unix:%s/.qemu-gtk/%s", getenv("HOME"), arg); + +done: + if (debug) + fprintf(stderr, "monitor: %s\n", mon); +} + int main(int argc, char *argv[]) { struct qemu_window *win; + char mon[256]; int monitor_tab = 0; int sercon_tab = 0; int quit_on_shutdown = 1; @@ -1002,7 +1029,8 @@ main(int argc, char *argv[]) /* main window */ win = qemu_create_window(); - if (-1 == monitor_connect(win, argv[optind])) { + vm_lookup(mon, sizeof(mon), argv[optind]); + if (-1 == monitor_connect(win, mon)) { exit(1); } win->quit_on_shutdown = quit_on_shutdown; -- cgit