summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Van Hoof <philip@codeminded.be>2011-09-21 17:50:40 +0200
committerPhilip Van Hoof <philip@codeminded.be>2011-09-23 12:40:48 +0200
commit23f30269b4f0e0e5ab7db83dd71daaedeb6c9f69 (patch)
tree476b49e02cc635b0e3bd3fc469afa7e796b97a1b
parent4f16ccd3ea204cc0f29190fbba19d830c346aa84 (diff)
downloadtracker-23f30269b4f0e0e5ab7db83dd71daaedeb6c9f69.tar.gz
tracker-extract, gif: Open GIF files with O_NOATIME
Conflicts: src/tracker-extract/tracker-extract-gif.c
-rw-r--r--src/tracker-extract/tracker-extract-gif.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/tracker-extract/tracker-extract-gif.c b/src/tracker-extract/tracker-extract-gif.c
index 52ff73c92..b483c39fc 100644
--- a/src/tracker-extract/tracker-extract-gif.c
+++ b/src/tracker-extract/tracker-extract-gif.c
@@ -544,6 +544,8 @@ extract_gif (const gchar *uri,
goffset size;
GifFileType *gifFile = NULL;
gchar *filename;
+ FILE *f;
+ int fd;
filename = g_filename_from_uri (uri, NULL, NULL);
size = tracker_file_get_size (filename);
@@ -553,7 +555,14 @@ extract_gif (const gchar *uri,
return;
}
- if ((gifFile = DGifOpenFileName (filename)) == NULL) {
+ f = tracker_file_open (filename);
+ if (!f) {
+ return;
+ }
+
+ fd = fileno (f);
+
+ if ((gifFile = DGifOpenFileHandle (fd)) == NULL) {
PrintGifError ();
return;
}
@@ -570,6 +579,7 @@ extract_gif (const gchar *uri,
PrintGifError ();
}
+ tracker_file_close (f, FALSE);
}
TrackerExtractData *