summaryrefslogtreecommitdiffstats
path: root/src/guestfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/guestfs.c')
-rw-r--r--src/guestfs.c12
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"));