|
@@ -775,6 +775,7 @@ mc_tmpdir (void)
|
|
|
static const char *tmpdir = NULL;
|
|
|
const char *sys_tmp;
|
|
|
struct stat st;
|
|
|
+ gchar *template;
|
|
|
|
|
|
/* Check if already correctly initialized */
|
|
|
if (tmpdir != NULL && lstat (tmpdir, &st) == 0 && S_ISDIR (st.st_mode) &&
|
|
@@ -789,7 +790,10 @@ mc_tmpdir (void)
|
|
|
sys_tmp = TMPDIR_DEFAULT;
|
|
|
}
|
|
|
|
|
|
- g_snprintf (buffer, sizeof (buffer), "%s/mc-XXXXXX", sys_tmp);
|
|
|
+ template = g_build_filename (sys_tmp, "mc-XXXXXX", (char *) NULL);
|
|
|
+ g_strlcpy (buffer, template, sizeof (buffer));
|
|
|
+ g_free (template);
|
|
|
+
|
|
|
tmpdir = g_mkdtemp (buffer);
|
|
|
if (tmpdir != NULL)
|
|
|
g_setenv ("MC_TMPDIR", tmpdir, TRUE);
|