diff audacious/util.c @ 1890:90d95cd7edb5 trunk

[svn] - remove mkdtemp(). - if mkdtemp() is unavailable, use /tmp/audacious.SYSTEMTIME as path.
author nenolod
date Sun, 22 Oct 2006 11:54:51 -0700
parents 94795106c541
children 46576f74b3a1
line wrap: on
line diff
--- a/audacious/util.c	Sun Oct 22 11:38:20 2006 -0700
+++ b/audacious/util.c	Sun Oct 22 11:54:51 2006 -0700
@@ -309,17 +309,23 @@
 {
     gchar *tmpdir, *cmd, *escaped_filename;
     ArchiveType type;
+    mode_t mode755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
 
     if ((type = archive_get_type(filename)) <= ARCHIVE_DIR)
         return NULL;
 
-    tmpdir = g_build_filename(g_get_tmp_dir(), "bmp.XXXXXXXX", NULL);
+#ifdef HAVE_MKDTEMP
+    tmpdir = g_build_filename(g_get_tmp_dir(), "audacious.XXXXXXXX", NULL);
     if (!mkdtemp(tmpdir)) {
         g_free(tmpdir);
         g_message("Unable to load skin: Failed to create temporary "
                   "directory: %s", g_strerror(errno));
         return NULL;
     }
+#else
+    tmpdir = g_strdup_printf("%s/audacious.%ld", g_get_tmp_dir(), time(NULL));
+    make_directory(tmpdir, mode755);
+#endif
 
     escaped_filename = escape_shell_chars(filename);
     cmd = archive_extract_funcs[type] (escaped_filename, tmpdir);