diff options
Diffstat (limited to 'src/guestfs.c')
-rw-r--r-- | src/guestfs.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/guestfs.c b/src/guestfs.c index f445adab..386dee6c 100644 --- a/src/guestfs.c +++ b/src/guestfs.c @@ -875,7 +875,8 @@ static const char *supermin_hostfiles_name = int guestfs_launch (guestfs_h *g) { - static const char *dir_template = "/tmp/libguestfsXXXXXX"; + const char *tmpdir; + char dir_template[PATH_MAX]; int r, i, pmore; size_t len; int wfd[2], rfd[2]; @@ -885,6 +886,15 @@ guestfs_launch (guestfs_h *g) char unixsock[256]; struct sockaddr_un addr; +#ifdef P_tmpdir + tmpdir = P_tmpdir; +#else + tmpdir = "/tmp"; +#endif + + tmpdir = getenv ("TMPDIR") ? : tmpdir; + snprintf (dir_template, sizeof dir_template, "%s/libguestfsXXXXXX", tmpdir); + /* Configured? */ if (!g->cmdline) { error (g, _("you must call guestfs_add_drive before guestfs_launch")); |