return g_quark_from_static_string("modest-utils-get-supported-secure-authentication-error-quark");
}
-gboolean
+gboolean
modest_utils_folder_writable (const gchar *filename)
{
g_return_val_if_fail (filename, FALSE);
if (!filename)
return FALSE;
-
+
if (g_strncasecmp (filename, "obex", 4) != 0) {
- GnomeVFSFileInfo *folder_info;
- gchar *folder;
- GnomeVFSResult result;
+ GnomeVFSFileInfo *folder_info = NULL;
+ GnomeVFSResult result = GNOME_VFS_OK;
+ GnomeVFSURI *uri = NULL;
+ GnomeVFSURI *folder_uri = NULL;
+
+ uri = gnome_vfs_uri_new (filename);
+ folder_uri = gnome_vfs_uri_get_parent (uri);
+
+ if (folder_uri != NULL) {
+ folder_info = gnome_vfs_file_info_new ();
+ result = gnome_vfs_get_file_info_uri (folder_uri, folder_info,
+ GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS);
+ gnome_vfs_uri_unref (folder_uri);
+ }
+ gnome_vfs_uri_unref (uri);
- folder = g_path_get_dirname (filename);
- folder_info = gnome_vfs_file_info_new ();
- result = gnome_vfs_get_file_info (folder, folder_info,
- GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS);
- g_free (folder);
+ if (folder_uri == NULL)
+ return FALSE;
if ((result != GNOME_VFS_OK) ||
(!((folder_info->permissions & GNOME_VFS_PERM_ACCESS_WRITABLE) ||
return TRUE;
}
-gboolean
+gboolean
modest_utils_file_exists (const gchar *filename)
{
GnomeVFSURI *uri = NULL;
gboolean result = FALSE;
g_return_val_if_fail (filename, FALSE);
-
+
uri = gnome_vfs_uri_new (filename);
if (uri) {
result = gnome_vfs_uri_exists (uri);