Created
April 8, 2023 06:46
-
-
Save TheBrokenRail/b47cfd733fb82890583ffd67ebf70350 to your computer and use it in GitHub Desktop.
It really is that easy!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/file-utils.c b/src/file-utils.c | |
index 2095a8d2..d283b091 100644 | |
--- a/src/file-utils.c | |
+++ b/src/file-utils.c | |
@@ -48,7 +48,7 @@ | |
/* path */ | |
-static const char *try_folder[] = { "cache", "~", "tmp", NULL }; | |
+static const char *try_folder[] = { "var-tmp", "cache", "~", "tmp", NULL }; | |
static const char * | |
@@ -57,7 +57,9 @@ get_nth_temp_folder_to_try (int n) | |
const char *folder; | |
folder = try_folder[n]; | |
- if (strcmp (folder, "cache") == 0) | |
+ if (strcmp (folder, "var-tmp") == 0) | |
+ folder = "/var/tmp"; | |
+ else if (strcmp (folder, "cache") == 0) | |
folder = g_get_user_cache_dir (); | |
else if (strcmp (folder, "~") == 0) | |
folder = g_get_home_dir (); | |
@@ -83,18 +85,21 @@ _g_path_get_temp_work_dir (const char *parent_folder) | |
for (i = 0; try_folder[i] != NULL; i++) { | |
const char *folder; | |
GFile *file; | |
- guint64 size; | |
folder = get_nth_temp_folder_to_try (i); | |
file = g_file_new_for_path (folder); | |
- size = _g_file_get_free_space (file); | |
- g_object_unref (file); | |
- if (max_size < size) { | |
- max_size = size; | |
- g_free (best_folder); | |
- best_folder = g_strdup (folder); | |
+ if (g_file_query_exists (file, NULL)) { | |
+ guint64 size = _g_file_get_free_space (file); | |
+ | |
+ if (max_size < size) { | |
+ max_size = size; | |
+ g_free (best_folder); | |
+ best_folder = g_strdup (folder); | |
+ } | |
} | |
+ | |
+ g_object_unref (file); | |
} | |
} | |
else | |
@@ -103,7 +108,7 @@ _g_path_get_temp_work_dir (const char *parent_folder) | |
if (best_folder == NULL) | |
return NULL; | |
- template = g_strconcat (best_folder, "/.fr-XXXXXX", NULL); | |
+ template = g_strconcat (best_folder, "/.file-roller-XXXXXX", NULL); | |
result = g_mkdtemp (template); | |
g_free (best_folder); | |
@@ -579,7 +584,7 @@ _g_file_is_temp_work_dir (GFile *file) | |
folder = get_nth_temp_folder_to_try (i); | |
if (strncmp (path, folder, strlen (folder)) == 0) { | |
- if (strncmp (path + strlen (folder), "/.fr-", 5) == 0) { | |
+ if (strncmp (path + strlen (folder), "/.file-roller-", 5) == 0) { | |
result = TRUE; | |
break; | |
} | |
diff --git a/src/fr-command-tar.c b/src/fr-command-tar.c | |
index c2f2f939..82521925 100644 | |
--- a/src/fr-command-tar.c | |
+++ b/src/fr-command-tar.c | |
@@ -961,7 +961,7 @@ get_temp_name (FrCommandTar *c_tar, | |
char *result = NULL; | |
char *temp_name = NULL; | |
- template = g_strconcat (dirname, "/.fr-XXXXXX", NULL); | |
+ template = g_strconcat (dirname, "/.file-roller-XXXXXX", NULL); | |
result = g_mkdtemp (template); | |
temp_name = g_build_filename (result, _g_path_get_basename (filepath), NULL); | |
g_free (template); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment