X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-file-helpers.c;h=67e884a4ee4e47959c135dc3bfb0a4dae7f10ba8;hb=f3e297cfbe271722e7263fb49cba9e63a5174bf0;hp=6a3d2fa019e422943cb901cb26fe5c46e3c2fbf9;hpb=7b0368829c39a9c1d78a785164bfe1c5d1f9f6ff;p=evince.git diff --git a/libdocument/ev-file-helpers.c b/libdocument/ev-file-helpers.c index 6a3d2fa0..67e884a4 100644 --- a/libdocument/ev-file-helpers.c +++ b/libdocument/ev-file-helpers.c @@ -176,6 +176,16 @@ ev_tmp_uri_unlink (const gchar *uri) g_object_unref (file); } +/** + * ev_xfer_uri_simple: + * @from: the source URI + * @to: the target URI + * @error: a #GError location to store an error, or %NULL + * + * Performs a g_file_copy() from @from to @to. + * + * Returns: %TRUE on success, or %FALSE on error with @error filled in + */ gboolean ev_xfer_uri_simple (const char *from, const char *to, @@ -183,12 +193,13 @@ ev_xfer_uri_simple (const char *from, { GFile *source_file; GFile *target_file; - GError *ioerror = NULL; gboolean result; if (!from) - return FALSE; - + return TRUE; + + g_return_val_if_fail (to != NULL, TRUE); + source_file = g_file_new_for_uri (from); target_file = g_file_new_for_uri (to); @@ -197,16 +208,12 @@ ev_xfer_uri_simple (const char *from, G_FILE_COPY_TARGET_DEFAULT_PERMS | #endif G_FILE_COPY_OVERWRITE, - NULL, NULL, NULL, &ioerror); + NULL, NULL, NULL, error); g_object_unref (target_file); g_object_unref (source_file); - if (!result) { - g_propagate_error (error, ioerror); - } return result; - } static gchar * @@ -215,6 +222,7 @@ get_mime_type_from_uri (const gchar *uri, GError **error) GFile *file; GFileInfo *file_info; const gchar *content_type; + gchar *mime_type = NULL; file = g_file_new_for_uri (uri); file_info = g_file_query_info (file, @@ -226,12 +234,12 @@ get_mime_type_from_uri (const gchar *uri, GError **error) return NULL; content_type = g_file_info_get_content_type (file_info); - g_object_unref (file_info); - - if (!content_type) - return NULL; + if (content_type) { + mime_type = g_content_type_get_mime_type (content_type); + } - return g_content_type_get_mime_type (content_type); + g_object_unref (file_info); + return mime_type; } static gchar *