Add Erlang bindings.
[libguestfs.git] / src / launch.c
index db76885..03ad39b 100644 (file)
@@ -1071,6 +1071,11 @@ test_qemu (guestfs_h *g)
   char cmd[1024];
   FILE *fp;
 
+  free (g->qemu_help);
+  g->qemu_help = NULL;
+  free (g->qemu_version);
+  g->qemu_version = NULL;
+
   snprintf (cmd, sizeof cmd, "LC_ALL=C '%s' -nographic -help", g->qemu);
 
   /* qemu -help should always work (qemu -version OTOH wasn't
@@ -1078,7 +1083,8 @@ test_qemu (guestfs_h *g)
    * probably indicates that the qemu binary is missing.
    */
   if (test_qemu_cmd (g, cmd, &g->qemu_help) == -1) {
-    perrorf (g, _("%s: command failed: If qemu is located on a non-standard path, try setting the LIBGUESTFS_QEMU environment variable."), cmd);
+    error (g, _("command failed: %s\n\nIf qemu is located on a non-standard path, try setting the LIBGUESTFS_QEMU\nenvironment variable.  There may also be errors printed above."),
+           cmd);
     return -1;
   }
 
@@ -1105,7 +1111,7 @@ test_qemu_cmd (guestfs_h *g, const char *cmd, char **ret)
     return -1;
   }
 
-  if (pclose (fp) == -1)
+  if (pclose (fp) != 0)
     return -1;
 
   return 0;