diff options
author | kraxel <kraxel> | 2009-03-18 08:25:51 +0000 |
---|---|---|
committer | kraxel <kraxel> | 2009-03-18 08:25:51 +0000 |
commit | 09a214dd9c1659e23ecd02d700bb1a0547900e6c (patch) | |
tree | b4e2934a84d106d49d814d7f1bd7b99ce2dd4c7e /qemu-gtk.c | |
parent | 24f9b290712cdbfadf38f57f4acc700932c56d66 (diff) | |
download | qemu-gtk-09a214dd9c1659e23ecd02d700bb1a0547900e6c.tar.gz |
fix usbhost parser, change vm name lookup
Diffstat (limited to 'qemu-gtk.c')
-rw-r--r-- | qemu-gtk.c | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -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; |