[evince] [comics] Fixes handling of the tmp folder
- From: Nickolay V. Shmyrev <nshmyrev src gnome org>
- To: svn-commits-list gnome org
- Subject: [evince] [comics] Fixes handling of the tmp folder
- Date: Sun, 17 May 2009 09:23:54 -0400 (EDT)
commit 418246aaa10bc512aa310cb3b3aa82b6c4aeb13b
Author: Juanjo MarÃn <juanj marin juntadeandalucia es>
Date: Sun May 17 17:22:31 2009 +0400
[comics] Fixes handling of the tmp folder
Uses common function for a temporary file creation. Fixes crash in
GNOME bug #582108.
---
backend/comics/comics-document.c | 10 ++--------
libdocument/ev-file-helpers.c | 6 ++++++
libdocument/ev-file-helpers.h | 1 +
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c
index 29a1581..ca15471 100644
--- a/backend/comics/comics-document.c
+++ b/backend/comics/comics-document.c
@@ -183,7 +183,7 @@ static gboolean
comics_generate_command_lines (ComicsDocument *comics_document,
GError **error)
{
- gchar *quoted_file, *checksum;
+ gchar *quoted_file;
ComicBookDecompressType type;
type = comics_document->command_usage;
@@ -198,19 +198,13 @@ comics_generate_command_lines (ComicsDocument *comics_document,
quoted_file);
comics_document->regex_arg = command_usage_def[type].regex_arg;
if (command_usage_def[type].decompress_tmp) {
- checksum =
- g_compute_checksum_for_string (G_CHECKSUM_MD5,
- comics_document->archive,
- -1);
- comics_document->dir = g_build_filename (ev_tmp_dir (),
- checksum, NULL);
+ comics_document->dir = ev_tmp_directory (NULL);
comics_document->decompress_tmp =
g_strdup_printf (command_usage_def[type].decompress_tmp,
comics_document->selected_command,
quoted_file,
comics_document->dir);
g_free (quoted_file);
- g_free (checksum);
/* unrar-free can't create directories so we do it on its
* behalf */
if (type == GNAUNRAR) {
diff --git a/libdocument/ev-file-helpers.c b/libdocument/ev-file-helpers.c
index 67e884a..3da4a59 100644
--- a/libdocument/ev-file-helpers.c
+++ b/libdocument/ev-file-helpers.c
@@ -122,6 +122,12 @@ ev_tmp_filename (const gchar *prefix)
return filename;
}
+gchar *
+ev_tmp_directory (const gchar *prefix)
+{
+ return ev_tmp_filename (prefix ? prefix : "directory");
+}
+
/* Remove a local temp file created by evince */
void
ev_tmp_filename_unlink (const gchar *filename)
diff --git a/libdocument/ev-file-helpers.h b/libdocument/ev-file-helpers.h
index adec69c..47a5417 100644
--- a/libdocument/ev-file-helpers.h
+++ b/libdocument/ev-file-helpers.h
@@ -47,6 +47,7 @@ gboolean ev_dir_ensure_exists (const gchar *dir,
GFile *ev_tmp_file_get (const gchar *prefix);
gchar *ev_tmp_filename (const char *prefix);
+gchar *ev_tmp_directory (const char *prefix);
void ev_tmp_filename_unlink (const gchar *filename);
void ev_tmp_file_unlink (GFile *file);
void ev_tmp_uri_unlink (const gchar *uri);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]