X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=src%2Flaunch.c;h=f9d8329f93d381a2badf554e6f54ca4f8fff153c;hp=e43be0d103dbb376411c705380743042a7e948b6;hb=eeaab2ba84441a96977281a4472b1bccb9ec80a9;hpb=a0b7045e0abb7e3a7ff4d1324f16e50de94bed55 diff --git a/src/launch.c b/src/launch.c index e43be0d..f9d8329 100644 --- a/src/launch.c +++ b/src/launch.c @@ -62,7 +62,6 @@ #include #include "glthread/lock.h" -#include "ignore-value.h" #include "guestfs.h" #include "guestfs-internal.h" @@ -250,10 +249,7 @@ guestfs__launch (guestfs_h *g) /* Make the temporary directory. */ if (!g->tmpdir) { - const char *tmpdir = guestfs___tmpdir (); - char dir_template[strlen (tmpdir) + 32]; - sprintf (dir_template, "%s/libguestfsXXXXXX", tmpdir); - + TMP_TEMPLATE_ON_STACK (dir_template); g->tmpdir = safe_strdup (g, dir_template); if (mkdtemp (g->tmpdir) == NULL) { perrorf (g, _("%s: cannot create temporary directory"), dir_template); @@ -512,6 +508,8 @@ guestfs__launch (guestfs_h *g) kernel = NULL; free (initrd); initrd = NULL; + free (appliance); + appliance = NULL; /* Fork the recovery process off which will kill qemu if the parent * process fails to do so (eg. if the parent segfaults). @@ -648,8 +646,11 @@ guestfs__launch (guestfs_h *g) return -1; } +/* Return the location of the tmpdir (eg. "/tmp") and allow users + * to override it at runtime using $TMPDIR. + */ const char * -guestfs___tmpdir (void) +guestfs_tmpdir (void) { const char *tmpdir;