X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libdocument%2Fev-file-helpers.c;h=dd3b3e1df8ca6051dc53420ac9e1f133a9cb427a;hb=e8f0aab822c73c4c764c9e544025529e0c89598a;hp=82e854336ec90793d0f15eb60cd61dab65848bda;hpb=2710153a377a3f60aa1ecb5d9d4c0914b29ca246;p=evince.git diff --git a/libdocument/ev-file-helpers.c b/libdocument/ev-file-helpers.c index 82e85433..dd3b3e1d 100644 --- a/libdocument/ev-file-helpers.c +++ b/libdocument/ev-file-helpers.c @@ -145,6 +145,43 @@ ev_tmp_filename (const gchar *prefix) return filename; } +/* Remove a local temp file created by evince */ +void +ev_tmp_filename_unlink (const gchar *filename) +{ + const gchar *tempdir; + + if (!filename) + return; + + tempdir = g_get_tmp_dir (); + if (g_ascii_strncasecmp (filename, tempdir, strlen (tempdir)) == 0) { + g_unlink (filename); + } +} + +void +ev_tmp_uri_unlink (const gchar *uri) +{ + GnomeVFSURI *vfs_uri; + gchar *filename; + + if (!uri) + return; + + vfs_uri = gnome_vfs_uri_new (uri); + if (!gnome_vfs_uri_is_local (vfs_uri)) { + g_warning ("Attempting to delete non local uri: %s\n", uri); + gnome_vfs_uri_unref (vfs_uri); + return; + } + gnome_vfs_uri_unref (vfs_uri); + + filename = g_filename_from_uri (uri, NULL, NULL); + ev_tmp_filename_unlink (filename); + g_free (filename); +} + gboolean ev_xfer_uri_simple (const char *from, const char *to,